Methods and systems for displaying vehicle operating condition indicator

ABSTRACT

A method and system to perform functions including receiving a selection of a vehicle operating condition (VOC) and multiple data parameters from a vehicle. The functions include determining that a first data parameter of the multiple data parameters indicates an occurrence of the VOC. The functions include displaying, on a display, a time-based indicator, a VOC indicator pertaining to the VOC in proximity to the time-based indicator, and a first graphical representation of a first portion of the multiple data parameters from the vehicle. The first portion of the multiple data parameters from the vehicle does not include the first data parameter. The functions further include receiving a selection of the displayed VOC indicator, and displaying, in response receiving a selection of the VOC, a second graphical representation of a second portion of the multiple data parameters. The second portion of the multiple data parameters includes the first data parameter.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 14/531,649, which was filed on Nov. 3, 2014 and waspublished as United States Patent Application Publication No.2016/0124612 A1 on May 5, 2018. U.S. patent application Ser. No.14/531,649 and United States Patent Application Publication No.2016/0124612 A1 are incorporated herein by reference.

BACKGROUND

Most vehicles are serviced at least once during their useful life. Inmany instances, a vehicle is serviced at a facility with professionalmechanics (e.g., technicians). The technicians may use any of a varietyof hand tools to service (e.g., repair) any of the wide variety ofmechanical components on a vehicle. The technicians may also useelectronic diagnostic equipment to service (e.g., diagnose) any of thewide variety of electrical components on a vehicle. The technician mayalso use the hand tools to service an electrical component and use theelectronic diagnostic equipment to service a mechanical component on avehicle.

OVERVIEW

Several example embodiments are described herein. In one respect, anexample embodiment can take the form of a method comprising: (i)determining, by a processor, a display is operating in a first displayorientation, wherein the first display orientation is associated withthe display displaying vehicle data parameter (VDP) graphs using a firstVDP graph configuration, (ii) displaying, by the display, a first set ofmultiple VDP graphs using the first VDP graph configuration while thedisplay is positioned in the first display orientation, (iii)determining, by the processor, the display changing from operating inthe first display orientation to operating in a second displayorientation that is different than the first display orientation,wherein the second display orientation is associated with the displaydisplaying at least one VDP graph using a second VDP graph configurationdifferent than the first VDP graph configuration, and (iv) displaying,by the display, at least one VDP graph using the second VDP graphconfiguration while the display is operating in the second displayorientation.

In another respect, an example embodiment can take the form of a systemcomprising: a processor, a computer-readable medium storingcomputer-readable program instructions executable by the processor; anda display, wherein the computer-readable program instructions areexecutable by the processor to (i) determine the display is operating ina first display orientation, wherein the first display orientation isassociated with the display displaying vehicle data parameters (VDP)graphs using a first VDP graph configuration, (ii) display, by thedisplay, a first set of multiple VDP graphs using the first VDP graphconfiguration while the display is positioned in the first displayorientation, (iii) determine the display changing from operating in thefirst display orientation to operating in a second display orientationthat is different than the first display orientation, wherein the seconddisplay orientation is associated with the display displaying at leastone VDP graph using a second VDP graph configuration different than thefirst VDP graph configuration, and (iv) display, by the display, atleast one VDP graph using the second VDP graph configuration while thedisplay is operating in the second display orientation.

In another respect, an example embodiment can take the form of acomputer-readable medium storing program instructions, that whenexecuted by a processor, cause a set of functions to be performed, theset of functions comprising: (i) determining, by the processor, adisplay is operating in a first display orientation, wherein the firstdisplay orientation is associated with the display displaying vehicledata parameter (VDP) graphs using a first VDP graph configuration, (ii)displaying, by the display, a first set of multiple VDP graphs using thefirst VDP graph configuration while the display is positioned in thefirst display orientation, (iii) determining, by the processor, thedisplay changing from operating in the first display orientation tooperating in a second display orientation that is different than thefirst display orientation, wherein the second display orientation isassociated with the display displaying at least one VDP graph using asecond VDP graph configuration different than the first VDP graphconfiguration, and (iv) displaying, by the display, at least one VDPgraph using the second VDP graph configuration while the display isoperating in the second display orientation.

In another respect, an example embodiment can take the form of a methodcomprising: (i) receiving, by a device, a selection of a vehicleoperating condition detectable by the device, (ii) receiving, by thedevice, vehicle data parameters, (iii) determining, by the device fromamong the vehicle data parameters, a first instance of a particularvehicle data parameter that indicates occurrence of the vehicleoperating condition, (iv) displaying, by the device, a graphicalrepresentation of at least a portion of the vehicle data parametersreceived by the device, and (v) displaying, by the device, a firstindicator that corresponds to the first instance of the particularvehicle data parameter that indicates occurrence of the vehicleoperating condition.

In another respect, an example embodiment can take the form of a systemcomprising: a processor, a computer-readable medium storingcomputer-readable program instructions executable by the processor, adisplay, and a user interface input element, wherein execution of theprogram instructions causes the processor to (i) receive a selection ofa detectable vehicle operating condition, (ii) receive vehicle dataparameters, and (iii) determine, from among the vehicle data parameters,a first instance of a particular vehicle data parameter that indicatesoccurrence of the vehicle operating condition, wherein the displaydisplays a graphical representation of at least a portion of thereceived vehicle data parameters, and wherein the display displays afirst indicator that corresponds to the first instance of the particularvehicle data parameter that indicates occurrence of the vehicleoperating condition.

In another respect, an example embodiment can take the form of acomputer-readable medium storing program instructions, that whenexecuted by a processor, cause a set of functions to be performed, theset of functions comprising: (i) receiving, by the processor, aselection of a vehicle operating condition detectable by the processor,(ii) receiving, by the processor, vehicle data parameters, (iii)determining, by the processor from among the vehicle data parameters, afirst instance of a particular vehicle data parameter that indicatesoccurrence of the vehicle operating condition, (iv) displaying, by adisplay, a graphical representation of at least a portion of the vehicledata parameters received by the processor, and (v) displaying, by thedisplay, a first indicator that corresponds to the first instance of theparticular vehicle data parameter that indicates occurrence of thevehicle operating condition.

In another respect, an example embodiment can take the form of a methodcomprising: (i) receiving, by a device, multiple vehicle data parametersassociated with a first vehicle data parameter (VDP) identifier andmultiple vehicle data parameters associated with a second VDPidentifier, (ii) displaying, by a display of the device, a firstgraphical representation showing at least a portion of the vehicle dataparameters associated with the first VDP identifier at a first displayposition of the display, (iii) displaying, by the display of the device,a second graphical representation showing at least a portion of thevehicle data parameters associated with the second VDP identifier at asecond display position of the display, and (iv) receiving, by thedevice, a drag-and-drop input of the first graphical representationdisplayed at the first display position onto at least a portion of thesecond display position displaying the second graphical representationand responsively changing the graphical representations displayed at thefirst display position and the second display position, wherein changingthe graphical representations displayed at the first display positionand the second display position includes switching the second displayposition to display the first graphical representation instead of thesecond graphical representation.

In another respect, an example embodiment can take the form of a systemcomprising: a processor, a computer-readable medium storingcomputer-readable program instructions executable by the processor, anda display, wherein execution of the program instructions causes (i) theprocessor to receive multiple vehicle data parameters associated with afirst vehicle data parameter (VDP) identifier and multiple vehicle dataparameters associated with a second VDP identifier, (ii) a display todisplay a first graphical representation showing at least a portion ofthe vehicle data parameters associated with the first VDP identifier ata first display position of the display, (iii) the display to display asecond graphical representation showing at least a portion of thevehicle data parameters associated with the second VDP identifier at asecond display position of the display, and (iv) the processor toreceive a drag-and-drop input of the first graphical representationdisplayed at the first display position onto at least a portion of thesecond display position displaying the second graphical representationand responsively changing the graphical representations displayed at thefirst display position and the second display position, and whereinchanging the graphical representations displayed at the first displayposition and the second display position includes switching the seconddisplay position to display the first graphical representation insteadof the second graphical representation.

In another respect, an example embodiment can take the form of acomputer-readable medium storing program instructions, that whenexecuted by a processor, cause a set of functions to be performed, theset of functions comprising: (i) receiving, by the processor, multiplevehicle data parameters associated with a first vehicle data parameter(VDP) identifier and multiple vehicle data parameters associated with asecond VDP identifier, (ii) displaying, by a display, a first graphicalrepresentation showing at least a portion of the vehicle data parametersassociated with the first VDP identifier at a first display position ofthe display, (iii) displaying, by the display, a second graphicalrepresentation showing at least a portion of the vehicle data parametersassociated with the second VDP identifier at a second display positionof the display, and (iv) receiving, by the processor, a drag-and-dropinput of the first graphical representation displayed at the firstdisplay position onto at least a portion of the second display positiondisplaying the second graphical representation and responsively changingthe graphical representations displayed at the first display positionand the second display position, wherein changing the graphicalrepresentations displayed at the first display position and the seconddisplay position includes switching the second display position todisplay the first graphical representation instead of the secondgraphical representation.

In another respect, an example embodiment can take the form of a methodcomprising: (i) receiving, by a device, multiple vehicle data parametersassociated with a first vehicle data parameter (VDP) identifier andmultiple vehicle data parameters associated with a second VDPidentifier, (ii) displaying, by a display of the device, a first VDPgraph showing at least a portion of the vehicle data parametersassociated with the first VDP identifier, (iii) displaying, by thedisplay of the device, a second VDP graph showing at least a portion ofthe vehicle data parameters associated with the second VDP identifier,and (iv) receiving, by the device, a pinch-and-expand input of the firstVDP graph and responsively increasing a size of the first VDP graph.

In another respect, an example embodiment can take the form of a systemcomprising: (i) a device to receive multiple vehicle data parametersassociated with a first vehicle data parameter (VDP) identifier andmultiple vehicle data parameters associated with a second VDPidentifier, (ii) a display to display a first VDP graph showing at leasta portion of the vehicle data parameters associated with the first VDPidentifier and a second VDP graph showing at least a portion of thevehicle data parameters associated with the second VDP identifier, (iii)an input device to receive a pinch-and-expand input of the first VDPgraph, (iv) a processor, and (v) a computer-readable medium storingcomputer-readable program instructions executable by the processor toincrease a size of the first VDP graph in response to receipt of thepinch-and-expand input of the first VDP graph.

In another respect, an example embodiment can take the form of acomputer-readable medium storing program instructions, that whenexecuted by a processor, cause a set of functions to be performed, theset of functions comprising: (i) receiving, by a device, multiplevehicle data parameters associated with a first vehicle data parameter(VDP) identifier and multiple vehicle data parameters associated with asecond VDP identifier, (ii) displaying, by a display of the device, afirst VDP graph showing at least a portion of the vehicle dataparameters associated with the first VDP identifier, (iii) displaying,by the display of the device, a second VDP graph showing at least aportion of the vehicle data parameters associated with the second VDPidentifier, and (iv) receiving, by the device, a pinch-and-expand inputof the first VDP graph and responsively increasing a size of the firstVDP graph

In another respect, an example embodiment can take the form of a methodcomprising: (i) displaying, by a display of a device, a plurality ofvehicle data parameter (VDP) graphs within the display, wherein each VDPgraph includes at least one cursor, (ii) displaying, by the display, acursor positioner within the display, wherein the cursor positioner isconfigured for a cursor positioner movement that causes a uniformmovement of at least one cursor within each VDP graph, (iii)determining, by the device, an occurrence of the cursor positionermovement, and (iv) moving uniformly, by the device, the at least onecursor within each VDP graph in response to determining the occurrenceof the cursor positioner movement.

In another respect, an example embodiment can take the form of a systemcomprising: a display, a processor, and a computer-readable mediumstoring computer-readable program instructions, wherein the display isconfigured to display a plurality of vehicle data parameter (VDP) graphswithin the display, wherein each VDP graph includes at least one cursor,wherein the display is configured to display a cursor positioner that isconfigured for a cursor positioner movement that causes a uniformmovement of at least one cursor within each VDP graph, and wherein theprogram instructions are executable by the processor to determine anoccurrence of the cursor positioner movement, and to move uniformly theat least one cursor within each VDP graph in response to determining theoccurrence of the cursor positioner movement.

In another respect, an example embodiment can take the form of acomputer-readable medium storing program instructions, that whenexecuted by a processor, cause a set of functions to be performed, theset of functions comprising: (i) displaying, by a display of a device, aplurality of vehicle data parameter (VDP) graphs within the display,wherein each VDP graph includes at least one cursor, (ii) displaying, bythe display, a cursor positioner within the display, wherein the cursorpositioner is configured for a cursor positioner movement that causes auniform movement of at least one cursor within each VDP graph, (iii)determining, by the device, an occurrence of the cursor positionermovement, and (iv) moving uniformly, by the device, the at least onecursor within each VDP graph in response to determining the occurrenceof the cursor positioner movement.

These as well as other aspects and advantages will become apparent tothose of ordinary skill in the art by reading the following detaileddescription, with reference where appropriate to the accompanyingdrawings. Further, it should be understood that the embodimentsdescribed in this overview and elsewhere are intended to be examplesonly and do not necessarily limit the scope of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

Example embodiments are described herein with reference to the drawings.

FIG. 1 is a block diagram of a system in accordance with the exampleembodiments.

FIG. 2 is a block diagram of a vehicle service tool (VST) in accordancewith the example embodiments.

FIG. 3 is a diagram of an example VST with a display in accordance withthe example embodiments.

FIG. 4 is another diagram of the example VST with a display inaccordance with the example embodiments.

FIG. 5 is a flowchart depicting a set of functions that can be carriedout in accordance with one or more example embodiments.

FIG. 6 is a flowchart depicting another set of functions that can becarried out in accordance with one or more example embodiments.

FIG. 7 is a flowchart depicting another set of functions that can becarried out in accordance with one or more example embodiments.

FIG. 8 is a flowchart depicting another set of functions that can becarried out in accordance with one or more example embodiments.

FIG. 9 is a flowchart depicting another set of functions that can becarried out in accordance with one or more example embodiments.

FIG. 10 is a diagram depicting an example display presentation by a VSTdisplay.

FIG. 11 is a diagram depicting another example display presentation by aVST display.

FIG. 12 is a diagram depicting another example display presentation by aVST display.

FIG. 13 is a diagram showing multiple views of the example VST with adisplay in accordance with the example embodiments.

FIG. 14 is a diagram showing another view of the example VST with adisplay in accordance with the example embodiments.

FIG. 15 to FIG. 21 are diagrams depicting additional example displaypresentations by a VST display.

DETAILED DESCRIPTION I. Introduction

This description describes several example embodiments including, butnot limited to, example embodiments that pertain to at least one ofdisplaying vehicle data parameter graph windows, displaying vehicle dataparameter graphs, and displaying vehicle data parameters. As an example,the vehicle data parameters can be obtained from a vehicle in the formof a vehicle data message (e.g., a serial data message). As anotherexample, the vehicle data parameters can be obtained from a vehicle inthe form of an electrical signal using an input element. The VDPdisplayed graphically, or otherwise, by an example vehicle service tool,can include VDP obtained by a vehicle data message, the input element,or otherwise.

In this description, the articles “a,” “an” or “the” are used tointroduce elements of the example embodiments. The intent of using thosearticles is that there is one or more of the elements. The intent ofusing the conjunction “or” within a described list of at least two termsis to indicate any of the listed terms or any combination of the listedterms. The use of ordinal numbers such as “first,” “second,” “third” andso on is to distinguish respective elements rather than to denote aparticular order of those elements.

The diagrams, flow charts, and other data shown in the figures areprovided merely as examples and are not intended to be limiting. Many ofthe elements illustrated in the figures or described herein arefunctional elements that can be implemented as discrete or distributedcomponents or in conjunction with other components, and in any suitablecombination and location. Those skilled in the art will appreciate thatother arrangements and elements (e.g., machines, interfaces, functions,orders, or groupings of functions) can be used instead. Furthermore,various functions described as being performed by one or more elementscan be carried out by a processor executing computer-readable programinstructions (CRPI) or by any combination of hardware, firmware, orsoftware. Furthermore still, identical reference numbers used in thesame or different figures denote elements that are identical to otherelements referred to by the same reference number, but those denotedelements and the other elements are no so limited.

II. Example Systems

FIG. 1 is a block diagram of a system 100 in accordance with the exampleembodiments described herein. The system 100 includes a vehicle 102having an electronic control unit (ECU) 106 and a data link connector(DLC) 108. The ECU 106 and the DLC 108 can be communicatively connectedto one another by a vehicle communication link 110.

A vehicle, such as vehicle 102, can include an automobile, a motorcycle,a light-duty truck, a medium-duty truck, a heavy-duty truck, asemi-tractor, a farm machine, or some other equipment that can be drivenor otherwise guided along a path (e.g., a paved road or otherwise) onland, in water, or in the air or outer space. A vehicle can include oruse any appropriate voltage or current source, such as a battery, analternator, a fuel cell, and the like, providing any appropriate currentor voltage, such as about 12 volts, about 42 volts, and the like. Avehicle can include or use any desired system or engine. Those systemsor engines can include items that use fossil fuels, such as gasoline,natural gas, propane, and the like, electricity, such as that generatedby a battery, magneto, fuel cell, solar cell and the like, wind andhybrids or combinations thereof.

The vehicle communication link 110 can include one or more conductors(wired or otherwise) or can be wireless. As an example, the vehiclecommunication link 110 can include one or two conductors for carryingvehicle data messages in accordance with a vehicle data message (VDM)protocol. A VDM protocol can include, but is not limited to, a Societyof Automotive Engineers (SAE) J1850 (PWM or VPW) VDM protocol, anInternational Organization of Standardization (ISO) 15764-4 controllerarea network (CAN) VDM protocol, an ISO 9141-2 K-Line VDM protocol, oran ISO 14230-4 KWP2000 K-Line VDM protocol. As another example, thevehicle communication link 110 can include a vehicle serial data bus.

The DLC 108 can include an on-board diagnostics (OBD) II connector. AnOBD II connector can include slots for retaining up to 16 connectorterminals, but the DLC 108 is not so limited. The DLC 108 can includeconductor terminals that connect to a conductor in the vehicle 102. Forinstance, the DLC 108 can include connector terminals that connect toconductors that respectively connect to positive and negative terminalsof a vehicle battery. The DLC 108 can include one or more conductorterminals that connect to a conductor of the vehicle communication link110 such that the DLC 108 is communicatively connected to the ECU 106.

The ECU 106 can control various aspects of vehicle operation orcomponents within the vehicle 102. For example, the ECU 106 can includea powertrain system ECU, an engine ECU, a supplemental inflatablerestraint system (i.e., an air bag system) ECU, an entertainment systemECU, or some other ECU. The ECU 106 can receive inputs (e.g., a sensorinput), control output devices (e.g., a solenoid), generate a vehicledata message (VDM) (such as a VDM based on a received input or acontrolled output), and set a diagnostic trouble code (DTC) as beingactive or history for a detected fault or failure condition within thevehicle 102.

Two or more ECU, such as the ECU 106 and a second ECU in the vehicle102, can send a VDM to each other and receive a VDM from the other ECU.Transmission of a VDM can occur over the vehicle communication link 110.In that way, a VDM can be transmitted to the DLC 108. A VDM can includedata such as, but not limited to, any one or more of (i) an ECUidentifier, (ii) a parameter identifier (PID), (iii) a mode identifierthat identifies a current data mode, a freeze frame data mode, a vehicleinformation mode, a DTC mode, or some other mode, and (iv) a parametervalue. As an example, a VDM that indicates the engine revolutions perminute (RPM) of an engine within the vehicle 102 can comprise thehexadecimal data “41 0C 0F A0,” where “41” represents a response to amode 01 request, “0C” is a PID indicating engine RPM, and “0F A0” is theparameter value representing the RPM (¼ RPM per bit). In this case, thehexadecimal value “0F A0” equals 4,000. At ¼ RPM per bit, the engine RPMrepresented by the example VDM is 1,000 RPM.

The system 100 includes a vehicle service tool (VST) 104. The VST 104can be communicatively connected to the vehicle 102 (e.g., to the DLC108 within the vehicle 102) by way of a communication link 112. The VST104 can operate using electrical power provided to it from the vehiclebattery by way of the DLC 108, but the VST 104 is not so limited. Forexample, the VST 104 may include its own power source, such as abattery, or the VST 104 may receive electrical power for its operationfrom a power source other than the vehicle 102 or an internal battery,such as an alternating current power available at a wall outlet.

The communication link 112 can include one or more conductors (wired orotherwise) or can be wireless. The communication link 112 can include aharness with one or more conductors and a connector that connects to amating connector on the VST 104 and to the wires within the harness, butthe communication link 112 is not so limited. The harness and matingconnectors can be configured like a DB-25 connector, but are not solimited.

In accordance with examples in which a communication link, such ascommunication link 112 or any other communication means describedherein, communicates data wirelessly, such wireless communication ofdata can be carried out in accordance with a wireless communicationprotocol (e.g., a wireless communication standard). As an example, awireless communication protocol can be an Institute of Electrical andElectronics Engineers (IEEE) 802.15.1 standard for wireless personalarea networks (PANs) or a Bluetooth version 4.1 standard developed bythe Bluetooth Special Interest Group (SIG) of Kirkland, Wash. As anotherexample, the wireless communication protocol can be an IEEE 802.11standard for wireless LANs, which is sometimes referred to as a Wi-Fistandard. As another example, the wireless communication protocol can bea cellular phone standard, such as standard for 3G or 4G cellular phonecommunications developed by the 3^(rd) Generation Partnership Project(3GPP). Other examples of a wireless communication protocol are alsopossible.

Next, FIG. 2 is a block diagram of a vehicle service tool (VST) 200 inaccordance with the example embodiments described herein. The VST 200can operate within the system 100 in place of, or in addition to, theVST 104, but is not so limited. The VST 104 can be arranged like the VST200. The VST 104 can include the VST 200 or any one or more of thecomponents thereof. One or more of the components of the VST 200 can bearranged as a device or system. A device or system can include one ormore of the components of the VST 200. A VST 300 is shown in FIG. 3. TheVST 200 can include any one or more of the components of the VST 300,but is not so limited.

The VST 200 includes a processor 202, a data storage device 204, a DLCconnector 206, a user interface 208, a communication link transceiver210, an orientation detector 212, and an input section 214, two or moreof which can be communicatively coupled or linked together via a systembus, network, or other connection mechanism 216.

A processor, such as processor 202 or any other processor discussed inthis description, can include one or more general purpose processors(e.g., INTEL® single core microprocessors or INTEL® multicoremicroprocessors) or one or more special purpose processors (e.g.,digital signal processors). Additionally or alternatively, a processorcan include an application specific integrated circuit (ASIC). Processor202 can be configured to execute computer-readable program instructions(CRPI), such as the CRPI 218 shown in FIG. 2.

A data storage device, such as data storage device 204 or any other datastorage device discussed in this description, can include acomputer-readable medium. A computer-readable medium can include anon-transitory computer-readable medium readable by a processor. Acomputer-readable medium can include volatile or non-volatile storagecomponents, such as optical, magnetic, organic or other memory or discstorage, which can be integrated in whole or in part with a processor,or which can be separate from a processor. A computer readable mediumcan include, but is not limited to, a random-access memory (RAM), aread-only memory (ROM), a programmable read-only memory (PROM), anerasable programmable read-only memory (EPROM), an electrically erasableprogrammable read-only memory (EEPROM), a compact disk read-only memory(CD-ROM), or any other device that is capable of providing data orexecutable instructions that may be accessed by a processor, such asprocessor 202.

Additionally or alternatively, a computer-readable medium can include atransitory computer-readable medium. The transitory computer-readablemedium can include, but is not limited to, a communications medium suchas a digital or analog communications medium (e.g., a fiber optic cable,a waveguide, a wired communication link, or a wireless communicationlink).

A computer-readable medium can be referred to by other terms such as,but not limited to, a “computer-readable storage medium,” a “datastorage device,” a “memory device,” or a “memory.” Data storage device204 can be referred to as a “computer-readable data storage device” anda “computer-readable medium.”

The DLC connector 206 can communicatively connect the VST 200 to thevehicle 102. This communicative connection allows the VST 200 totransmit messages (e.g., a VDM request) to the vehicle 102, and toreceive messages (e.g., VDM) from the vehicle 102. In one respect, thecommunicative connection can be carried out using wired conductors ofthe communication link 112. For instance, the DLC connector 206 caninclude a connector with terminals that are connectable to terminalswithin the DLC 108 by way of one or more conductors. As an example, theDLC connector 206 can include an OBD II connector that meets the SAEJ1962 specification such as a connector 16M, part number 12110252,available from Delphi Automotive LLP of Troy, Mich. In another respect,the communicative connection between the VST 200 and the vehicle 102 canbe carried out using a wireless connection of the communication link112. For instance, the DLC connector 206 can include a wirelesstransceiver to transmit VDM to and receive VDM from a version of the DLC108 configured for wireless communication of VDM. The DLC connector 206can transmit a VDM it receives to one or more of the processor 202, thedata storage device 204, the user interface 208, and the communicationlink transceiver 210 over the connection mechanism 216.

The user interface 208 can include user-input elements configured sothat a user of VST 200 can input data for use by the processor 202 oranother element of the VST 200. As an example, the user-input elementscan include a touch screen display. As another example, the user-inputelements can include a user input section (e.g., the user input section304 shown in FIG. 3) having one or more input keys. As another example,the user-input elements can include a pointing device such as acomputing device mouse, a keyboard (e.g., a QWERTY keyboard), a displaypointer (e.g. the display pointer 322 shown in FIG. 3), or a microphonefor receiving spoken inputs.

The user interface 208 can include user-output elements configured foroutputting (e.g., presenting) data to a user of the VST 200. As anexample, the user-output elements can include a display device (or moresimply, a “display”) for visual presentation of data, such as VDP graphwindows or any element of a display presentation described herein, butis not so limited. As another example, the user-output elements caninclude an audio speaker to audibly present data to a user of the VST200. For instance, the audible data can include sounds (e.g., soundwaves of a constant frequency) to alert a user to various warnings andprompts associated with use of the VST 200. As another example, theaudible data can include text-to-speech content of at least a portion ofdata displayed by the display.

The communication link transceiver 210 can include one or moretransceivers. In one respect, the one or more transceivers can include awireless transceiver and one or more antennas to carry out wirelesscommunications according to a wireless communication protocol. Inanother respect, the one or more transceivers can include a wiredtransceiver to carry out communications over a wired communication linkin accordance with a communication protocol such as, but not limited to,an Transmission Control Protocol/Internet Protocol (TCP/IP) or an IEEE802.3 Ethernet communication protocol for a LAN or otherwise. Thecommunication link transceiver 210 can establish a communicativeconnection with a device off-board (e.g., remote from) the VST 200 andthe vehicle 102, but is not so limited.

The orientation detector 212 can detect a change in an orientation thatthe VST 200 or a component thereof can take or be positioned. As anexample, the orientations of a display 302 (shown in FIG. 3) can bereferred to as a landscape orientation (e.g., an image displayed by thedisplay 302 is wider than it is tall) or a portrait orientation (e.g.,an image displayed by the display 302 is taller than it is wide). Theorientation detector 212 can include one or more accelerometers or amulti-axis gyroscope, but is not so limited. The processor 202 canexecute program instructions of the CRPI 218 to determine a currentorientation of the VST component or a change in the orientation of theVST component. The processor 202 can execute additional programinstructions in response to determining a change in orientation of theVST component so as to cause one or more changes in VST operation.Examples of these changes are discussed elsewhere herein.

The input section 214 can include input leads and an input signalprocessing element that converts input signals obtained by the inputleads into input data. The input leads can include one or more inputleads, each of which can receive input signals from an input signalacquisition point (ISAP). The input signal acquisition point maycomprise any of a variety of locations at which an input signal can beacquired. In the vehicle 102, an ISAP can include a location on thevehicle at which a voltage signal, current signal, air pressure signal,air temperature signal, oil pressure signal, oil temperature signal, orsome other input signal can be acquired.

As an example, an input lead can include, but is not limited to, aconductor and one or more conductor ends selected from among (i) analligator clip, such as an MTA85 alligator clip sold by Snap-onIncorporated, Kenosha, Wis., United States, (ii) a spring hook, such asan MTA80 spring hook sold by Snap-on Incorporated, (iii) a test probe,such as an MTA20 test probe sold by Snap-on Incorporated, or (iv) aback-probe, such as an MTTL7005 back-probe sold by Snap-on Incorporated.

The input section 214 can include an input signal processing element,such as an analog-to-digital converter (ADC) that converts an inputsignal received via one or more input leads into input data that isdisplayable at the display 302. Each of those input signals can includean analog electrical signal, but is not so limited. A digital output ofthe ADC can be transferred to another element of the VST 200 (e.g., theprocessor 202, the data storage device 204, or the user interface 208)via connection mechanism 216.

The data storage device 204 can store various data. For example, thedata storage device 204 can store the CRPI 218, display orientations220, graph configurations 222, vehicle data parameters 224, and vehicleoperating conditions 226, but the data storage device 204 is not solimited.

The display orientations 220 can include data regarding variousorientations in which a display of the VST 200 (e.g., a display 302shown in FIG. 3) can take or be positioned. The display orientations 220can track changes in an orientation of the display 302. The displayorientations 220 can include data that indicates a current orientationof the display 302. As an example, the orientations of the display canbe referred to as a landscape orientation (e.g., a displayed image iswider than it is tall) or a portrait orientation (e.g., a displayedimage is taller than it is wide).

The display orientations 220 can also include data regardingcharacteristics or settings of the display 302. These displaycharacteristics or settings can includes, but are not limited to, anyone or more of a screen display resolution, a pixel density, andphysical dimensions (e.g., a width and length) of the display 302. Theprocessor 202 can determine how many VDP graph windows are to bedisplayed for a given display characteristic or setting. For example,the processor 202 can determine that a width of the display 302 embodiedin a smart phone is below a threshold width such that only one VDP graphwindow is to be displayed when the smart phone is switched to alandscape orientation. The width threshold may be set such that thewidth of a typical tablet device is greater than the width threshold. Insuch cases, the processor 202 can determine switching a typical tabletdevice to the landscape orientation and displaying multiple VDP graphwindows within the display 302.

The graph configurations 222 can include data regarding a plurality ofVDP graph configurations displayable by the display 302. Each VDP graphconfiguration can indicate how many VDP graph windows are to besimultaneously displayed by the display 302, a size of each VDP graphwindow to be displayed by the display 302, and a position in the display302 that each VDP graph window is to be displayed. A VDP graphconfiguration can include metadata that indicates, or the VDP graphconfiguration can otherwise indicate, a display orientation that isassociated with the VDP graph configuration and a respective alternateVDP graph configuration associated with an alternate displayorientation.

The VDP 224 can include values of VDP (i.e., VDP values) and metadataregarding the VDP values. As an example, the metadata regarding the VDPvalues can include a vehicle parameter identifier (i.e., a vehicle PID),a maximum VDP value for the associated VDP values and a minimum VDPvalue for the associated VDP values. As another example, the metadataregarding the VDP can include a time or sequence identifier for eachrespective VDP value such that the user interface 208 can display a VDPgraph of the VDP values in an order in which the VDP values occurred(e.g., were generated or were received). A time or sequence identifierfor one or more VDP values can be implied from an order in which the VDPvalues are stored in the data storage device 204. For instance, the VDPvalues stored in consecutive data bits or bytes can indicate an order inwhich the VDP values occurred. As another example, the metadataregarding the VDP can include data that indicate the units (e.g., volts,percent, or counts) associated with the VDP values. As another example,a VDP can include a voltage measurement, an amperage measurement, acapacitive measurement, an inductance measurement, and a resistancemeasurement. One or more those measurements can be performed by the ECU106 or the input section 214, but are not so limited.

The vehicle operating conditions (VOC) 226 can include data that isdisplayable by a display, such as the display 302. Each vehicleoperating condition represented by the data of the VOC 226 can include aVOC that is detectable by a VST or the processor 202. As an example, thedata of a detectable VOC can include a PID and one or more thresholdsvalues of the data parameter values associated with the PID. Forexample, a PID “0A” can represent a fuel pressure and the VOC caninclude that PID and a low threshold, such as 120 kPa gauge pressure,and a high threshold, such as 510 kPa gauge pressure. The processor 202can receive a VDM including the PID “0A” and a parameter valueindicating a fuel pressure value for an operating condition pertainingthe fuel pressure provided by a fuel pump in the vehicle 102. Theprocessor 202 can compare the received parameter value to one or boththresholds associated with the PID “0A” to determine whether a low fuelpressure or high fuel pressure operating condition has been exhibited bythe vehicle 102 (e.g., a VDP threshold associated with the low or highfuel pressure has been breached).

In general, the CRPI 218, or any other CRPI described herein, includeprogram instructions executable by a processor. Further, and in general,CRPI can include various structures, modules, or routines, but are notso limited. Further, and in general, CRPI can be written using acomputer-programming language such as C++, but are not so limited.

In particular, the CRPI 218 can include program instructions executableby the processor 202 to carry out any one or more functions describedherein or represented by the figures as being performed, at least inpart, by a VST or a component thereof. The CRPI 218 can be executed toperform any function described herein or shown or represented in anyfigure as being performed by a VST or a component thereof.

As an example, the CRPI 218 can include program instructions executableto store the VDP (e.g., a PID and VDP data values) received by the VST200. In a first respect, storage of the VDP can include storing the VDPin a first-in-first-out (FIFO) method. The FIFO method can be used tostore VDP within the VDP 224 in circumstances in which a VDP thresholdassociated with the VDP has not been breached. In a second respect,storage of the VDP can include storing a number of VDP received prior tooccurrence of a detected vehicle operating condition (VOC), the VDPreceived to detect the occurrence of the VOC, and a number of VDPreceived after detection of the VOC. In combination, these VDP can bereferred to as a set of breached VOC VDP. The number of VDP receivedafter detection of the VOC can include at least one of (i) VDP receivedwhile the VOC still exists, and (ii) VDP received while the VOC nolonger exists. The VDP 224 can store a set of breached VOC VDP evenafter those VDP would have been deleted or overwritten using a FIFOmethod if they were not part of the set of breached VOC VDP.

As an example, the VDP 224 can have a capacity to store VDP associatedwith eight different PID received over a one hour period at a given VDPreception rate. If the stored VDP are associated with a different numberof PID or are received at a different VDP reception rate, the capacityin time may be other than one hour. The capacity for storing VDP can bedependent upon the storage size of the data storage device 204. Thecapacity for storing VDP can be specified in units other than time. Asan example, a set of breached VOC VDP can use ten percent capacity ofthe VDP 224. That percentage can be set to a different percent value byuse of the user interface 208.

As another example, the CRPI 218 can include program instructionsexecutable to display the VDP stored within the VDP 224. The VDP may bedisplayed in accordance with one of the display presentations describedherein, but are not required to be displayed in such manner.

Next, FIG. 3 is a diagram of an example vehicle service tool 300 inaccordance with the example embodiments. VST 104 and VST 200 can includeany one or more of the described or depicted features of the VST 300,but the VST 104 and the VST 200 are not so limited. The VST 300 canoperate within the system 100 in place of, or in addition to, the VST104 or the VST 200, but the VST 300 is not so limited.

The VST 300 includes a display 302, a user input section 304, and ahousing 306. The display 302 and the user input section 304 can be apart of a user interface, such as the user interface 208. As an example,the display 302 can include a touch-screen display such as a color touchscreen used on the MODIS' ultra integrated diagnostic system (referencenumber EEMS328 W) available from Snap-on Incorporated of Kenosha, Wis.As another example, the display 302 can include a backlit color liquidcrystal display (LCD) having a resistive touch screen or panel. Asanother example, the display 302 can include a plasma display or a lightemitting diode (LED) display. As another example, the display 302 caninclude a display like those used as part of a tablet device (such as anIPAD® tablet device from Apple Inc., or a SAMSUNG GALAXY TAB tabletdevice from Samsung Electronics Co., Ltd.). As another example, thedisplay 302 can include a display like those used on a smartphone (suchas an IPHONE® smartphone from Apple Inc. of Cupertino, Calif., or aGALAXY S® smartphone from Samsung Electronics Co., Ltd. Of Maetan-Dong,Yeongtong-Gu Suwon-Si, Gyeonggi-Do, Republic of Korea). Other examplesof the display 302 are also possible.

The display 302 can have a rectangular-like shape, such as a rectanglewith square corners or a generally rectangular shape with roundedcorners, but the display 302 is not so limited. As shown in FIG. 3, thedisplay has a dimension 308 and a dimension 310. Dimensions 308 and 310are perpendicular to each other. When the VST 300 is positioned as shownin FIG. 3, the dimension 308 can be referred to as a “display width” (ormore simply “width”) and the dimension 310 can be referred to as a“display height” (or more simply, “height”).

As shown in FIG. 3, dimension 308 is greater (e.g., longer) thandimension 310. In cases in which the display 302 is positioned such thatdimension 308 is horizontal and dimension 310 is vertical (such as thecase shown in FIG. 3), the display 302 can be considered to be in alandscape mode (which can be referred to as a “landscape orientation”).In cases in which the display 302 is positioned such that dimension 308is vertical and dimension 310 is horizontal, the display 302 can beconsidered to be in a portrait mode (which can be referred to as a“portrait orientation”).

The user input section 304 can include one or more input selectors. Forexample, the user input section 304 can include input keys 312, 314,316, 318, and 320. Those user input keys can be arranged in any of avariety of configurations. For instance, input key 312 can represent anup-direction selection, input key 314 can represent a right-directionselection, input key 316 can represent a down-direction selection, inputkey 318 can represent a left-direction selection, and input key 320 canrepresent an enter selection. Pressing one of the input keys 312, 314,316, and 318 can cause a display pointer 322 to move in a directionrepresented by the input key being pressed. Pressing the input key 320can cause selection of a displayed data element to which the displaypointer 322 is pointing.

The user input section 304 can be used to select a vehicle operatingcondition from the VOC 226. The user input section 304 can be used toselect a default threshold associated with the PID of the selected VOC.The user input section 304 can also be used to set a user-selectedthreshold associated with the PID of the selected VOC that differs fromthe default threshold. In that regard, the threshold associated with aPID of a selected VOC is user-configurable.

The processor 202 can execute program instructions of the CRPI 218 tocause the display 302 to display one or more vehicle data parametergraph windows. FIG. 3 shows VDP graph windows 324, 326, 328, 330, 332,and 334. The display 302 can display VDP graph windows having differentsizes. With respect to the VDP graph windows shown in FIG. 3, VDP graphwindows 324, 326, 328, and 330 can be referred to as small VDP graphwindows and the VDP graph windows 332 and 334 can referred to as largeVDP graph windows. The VDP graph windows shown in the figures have arectangular-like shape. The area of the display 302 covered by a largeVDP graph window is greater than an area of the display 302 covered by asmall VDP graph window. A VDP graph window is not limited to display aVDP graphically. For example, a VDP graph window can display a VDP valueas a digital value. Other examples are also possible.

A VDP graph window can include various elements. As shown in VDP graphwindow 334, a VDP graph window can include a VDP line graph 348 and VDPgraph text 350. The VDP graph text 350 can include a name of a VDPrepresented by the VDP line graph 348, a units identifier thatidentifies the units of the VDP line graph 348 (e.g., volts, percent, orcounts), a minimum value, and a maximum value. The minimum and maximumvalues can be restricted to the minimum and maximum values of the VDPline graph 348 currently displayed within a VDP graph window, but arenot so limited. For instance, the data storage device 204 can storeminimum and maximum values for one or more VDP and use those storedminimum and maximum values to populate the VDP graph text 350 when a VDPassociated with minimum and maximum values is displayed by the display302.

The processor 202 can execute program instructions of the CRPI 218 tocause the display 302 to display one or more scroll bars. As shown inFIG. 3, the display 302 displays scroll bars 336 and 338. The scroll bar336 can be used to scroll through a set of VDP graph windows on a firstside of the display 302 and the scroll bar 338 can be used to scrollthrough a set of VDP graph windows on a second side of the display 302.As an example, the set of VDP graph windows on the first side of thedisplay can include the small VDP graph windows 324, 326, 328, 330, andat least one other small VDP graph window. As an example, the set of VDPgraph windows on the second side of the display 302 can include thelarge VDP graph windows 332, 334, and at least one other large VDP graphwindow.

The housing 306 can provide support or protection for at least a portionof any of the components of the VST 300, which can include any one ormore of the components of any other VST discussed herein (e.g., the VST200). The housing 306 can include hand grips 340, 342, 344, and 346, butis not so limited. The housing 306 can include one or more port openings(not shown) for connecting a communication link, such as communicationlink 112, to the VST 300.

The VST 300 can include a front, a back opposite the front, a top, abottom opposite the top, a left side, and a right side opposite the leftside. For purposes of this description, the data visually presented bythe display 302 is presented at the front of the VST 300. Accordingly,the hand grip 340 is located at the left side of the VST 300, the handgrip 342 is located at the right side of the VST 300, the hand grip 344is located at the top of the VST 300 and the hand grip 346 is located atthe bottom of the VST 300. The VST 300 can be re-oriented (e.g., byrotating the VST 300) such that the top, bottom, left side, right side,front, and back are at a different positions then as shown in FIG. 3.

One or more of the top, the bottom, the left side, or the right side ofthe VST 300 may be straight or straight between the corners that formparts of the top, the bottom, the left side, or the right side. Theinput keys 312, 314, 316, 318, and 320 are shown as being located on thefront of the VST 300. One or more input keys of the user input section304 may be located on the top, the bottom, the left side, the rightside, or the back of the VST 300, but are not so limited. One or moreinput keys of the input section 304 can be a part of a touch screendisplay of the display 304.

Next, FIG. 4 is a diagram that shows example axis that can be definedfor the VST 300. As shown in FIG. 4, the example axis include an “Xaxis” 350, a “Y axis” 360, and a “Z axis” 370. The orientation detector212 can determine or provide signals to the processor 202 fordetermining a movement around one or more of the axis. As an example,the movements can be a movement 355 around the axis 350, a movement 365around the axis 360, and a movement 375 around the axis 370.

The movement 355 can include tilting the VST 300 forward or backward.The movement 355 can be referred to as “pitch.” The movement 365 caninclude twisting the VST 300 from side to side (e.g., a left side to aright side or the right side to the left side). The movement 365 can bereferred to as “roll.” The movement 375 can include turning a top of theVST 300 towards a bottom of the VST 300. The movement 375 can bereferred to as “yaw.” The movement 375 can cause a change in a displayorientation of the VST 300 from a landscape orientation to a portraitorientation, or from the portrait orientation to the landscapeorientation.

Next, FIG. 13 is a diagram showing multiple views of the VST 300 withthe display 302 in accordance with the example embodiments. As indicatedabove, the display 302 can include a touch screen display. A variety ofinputs can be entered by use of the touch screen of the display 302. Forexample, a touch screen input can include a “selection input” of anelement, such as a VDP graph window, displayed by the display 302. Asanother example, a touch screen input can include a “squeeze input” or a“pinch-and-zoom” input.

The top view of the display 300 in FIG. 13 shows an example of a squeezeinput 380. The squeeze input 380 can include or occur by placing a firstdigit (e.g., a finger or thumb) at a location 381 on the display 302 anda second digit at a location 382 on the display 302, moving the firstand second digits towards one another (e.g., in opposite directions 385and 386), stopping movement of the first and second digits at a location383 on the display 302 and a location 384 on the display 302,respectively, and removing the digits away from the display 302. Thesqueeze input 380 can occur within a single VDP window graph, but is notso limited. The location 381, the location 382, the location 383, andthe location 384 are not limited to the locations shown in FIG. 13.Accordingly, the directions 385 and 386 are not limited to thedirections shown in FIG. 13.

The bottom view of the display 300 in FIG. 13 shows an example of apinch-and-expand input 390. The pinch-and-expand input 390 can includeor occur by placing a first digit at a location 393 on the display 302and a second digit at a location 394 on the display 302, moving thefirst and second digits away from one another (e.g., opposite directions395 and 396), stopping movement of the first and second digits atlocations 391 and 392, respectively, and removing the digits away fromthe touch screen display 302. A pinch-and-expand input can occur withina single VDP window graph, but is not so limited. The location 391, thelocation 392, the location 393, and the location 394 are not limited tothe locations shown in FIG. 13. Accordingly, the directions 395 and 396are not limited to the directions shown in FIG. 13.

The processor 202 can receive selection inputs, squeeze inputs, andpinch-and-zoom inputs from the display 302 or the user interface 208.The processor can 202 execute program instructions of the CRPI 218 inresponse to receiving any of those inputs so as to carry out several ofthe functions described herein.

Next, FIG. 14 is a diagram showing another view of the VST 300 with thedisplay 302 in accordance with the example embodiments. In particular,FIG. 14 depicts performance of a drag-and-drop input through the use ofthe display pointer 322. A drag-and-drop input can be carried out on anyof a variety of elements. FIG. 14 shows the drag-and-drop input carriedout on the VDP graph window 324. The display pointer 322 can be used toselect the VDP graph window 324. Movement of the display pointer 322with the VDP graph window 324 can cause movement of the VDP graph 324 toanother location on the display 302. The other location can include atleast one other VDP graph window.

The processor 202 can use any of a plurality of rules to determine whichVDP graph window to drop the dragged VDP graph window onto if thedragged VDP graph window is dragged onto multiple VDP graph windows. Afirst example rule is to drop the dragged VDP graph window onto the lastVDP graph window onto which the VDP graph window was dragged. A secondexample rule is to drop the dragged VDP graph window onto the VDP graphwindow which is covered by the largest portion of the dragged VDP graphwindow. For instance if fifty-one percent of the dragged VDP graphwindow covers VDP graph window 334, then the dragged VDP graph window isdropped onto the VDP graph window 334.

The processor 202 can receive drag-and-drop inputs from the display 302or the user interface 208. The processor can 202 execute programinstructions of the CRPI 218 in response to receiving a drag-and-dropinput. A drag-and-drop input can occur using a selection input of atouch screen display.

Next, FIG. 21 depicts performance of another drag-and-drop input thatcan be performed by the VST 200 or 300. FIG. 21 shows displaypresentations 101, 103, 105, and 107 that can be provided by a displaysuch as the display 302 prior to, during, or after the drag-and-dropinput. For the drag-and-drop input shown in FIG. 21, the display 302 ispositioned in the landscape orientation, but the drag-and-drop input canalso be performed in a similar manner when the display 302 is positionedin the portrait orientation.

Prior to the drag-and-drop input, the DP 101 displayed by the display302 includes large VDP graph windows 113, 115A, small VDP graph windows117, 119, 121, and 123, and a small VDP graph window scroll bar 109, anda large VDP graph window scroll bar 111. The scroll bar 109 can be usedto scroll through a set of small VDP graph windows (some of which arenot displayed in DP 101 and 103). The scroll bar 111 can be used toscroll through a set of large VDP graph windows (none of which are shownin FIG. 21).

A drag-and-drop input can be initiated by a long press of a VDPgraph-window. As an example, the long press can be performed by touchingthe touch screen of the display 302 with a finger positioned on the VDPgraph window to be selected, the display pointer 322, an input key ofthe input section 304, or in another manner. The long press can allowthe selected VDP graph-window to be repositioned with the display 302.DP 103 shows that VDP graph window 115A was selected for thedrag-and-drop input and subsequently moved upward and to the left from aprior position of the large VDP graph window 115A.

Prior to completion of the drag-and-drop input, a size of the selectedVDP graph window can change (in other words, the VDP graph window can beresized). DP 105 illustrates that the large VDP graph window 115A hasdecreased to the small VDP graph window 115B. The content of graphswithin VDP graph windows 115A and 115B can be the same, but is notrequired to be the same. For instance, the amount of time represented bya graph in a small VDP graph window can be less than the amount of timerepresented by a graph in a large VDP graph window. The PID pertainingto the graphs of VDP graph windows 115A and 115B are preferably thesame, but are not required to be.

As an example, the size of the large VDP graph window 115A can changeafter the large VDP graph window 115A enters into an area covered byanother VDP graph window or covers a predetermined portion of anotherVDP graph window. As the size of the large VDP graph window 115A changesto the small VDP graph window 115B, one or more displayed VDP graphwindows of the resized VDP graph window can be repositioned.Repositioning of one those VDP graph windows can include removing thatVDP graph window from the display 302. DP 105 and 107 show small VDPgraph windows 117, 119, and 121 have moved downwards and small VDP graphwindow has been repositioned by removing small VDP graph window 123 fromthe display. A selector 127 of the scroll bar 109 can be moved to movethe small VDP graph windows such that the small VDP graph window 123 canbe displayed again by the display 302 (i.e., changed from a virtualgraph window to a displayed graph window) or moved further away frombeing displayed again by the display 302.

As another example, the selected VDP graph window can be a small VDPgraph window that is resized to be a large VDP graph window andrepositioned in a display position designated for large VDP graphwindows. In accordance with this example, another large VDP graph windowcan be repositioned upward or downward from the VDP graph windows beingdisplayed by the display 302.

FIG. 21 shows a large VDP graph window position 125 at which the largeVDP graph window 115A was displayed prior to the drag-and-drop input. Awindow graph position, such as the large VDP graph window position 125,can remain empty of any VDP graph windows after the drag-and-drop inputthat removed a VDP graph window from that position. In one respect, auser can manually select another PID such that the display 302 displaysa VDP graph of that PID at VDP graph window position 125 after thedrag-and-drop input. Alternatively, the processor 202 can automaticallyselect a VDP graph of another PID to display at the graph windowposition 125 after the drag-and-drop input.

III. Example Operation

Next, FIG. 5 is a flowchart depicting a set of functions 500 (or moresimply “the set 500”) that can be carried out in accordance with one ormore example embodiments described herein. The set 500 includes thefunctions shown in blocks labeled with even numbers 502 through 508inclusive. The following description of the set 500 includes referencesto elements shown in other figures in this application, but thefunctions of the set 500 are not limited to be carried out by thereferenced elements. A variety of methods can be performed using one ormore of the functions shown in the set 500. Any of those methods can beperformed with other functions such as one or more of the otherfunctions described herein.

Block 502 includes determining a display 302 is operating in a firstdisplay orientation. The processor 202 can execute program instructionsof the CRPI 218 to make the determination of block 502 and can executethe same or other program instructions to make the determination ofblock 506 discussed below or to cause a display, such as the display302, to perform the displaying functions of blocks 504 and 508 discussedbelow. The first display orientation is associated with a displaydisplaying VDP graphs using a first VDP graph configuration.

Each of blocks 502, 504, 506, and 508 refer to at least one of the firstdisplay orientation and the second display orientation. As an example,the first display orientation can include or be a portrait orientationof the display 302 and the second display orientation can include or bea landscape orientation of the display 302. As another example, thefirst display orientation can include or be a landscape orientation ofthe display 302 and the second display orientation can include or be aportrait orientation of the display 302.

Next, block 504 includes displaying a first set of multiple VDP graphsusing the first VDP graph configuration while the display 302 ispositioned in the first display orientation. The display 302 or adisplay of the user interface 208 can perform the displaying of block504 and the displaying of block 508 discussed below. FIG. 11 and FIG. 12show examples of sets of multiple VDP graphs. The first set of multipleVDP graphs can be configured like one of those example sets of multipleVDP graphs, but is no so limited.

Next, block 506 includes determining the display changing from operatingin the first display orientation to operating in a second displayorientation that is different than the first display orientation. Theprocessor 202 may determine the display orientation change by receivingone or more signals from the orientation detector 212. The one or moresignals can include a message that indicates the display 302 isoperating in the second display orientation. In that way, theorientation detector 212 determines the display orientation change andnotifies the processor 202 of the display orientation change. The seconddisplay orientation can be associated with the display 302 displaying atleast one VDP graph using a second VDP graph configuration that isdifferent than how the at least one VDP graph was displayed using thefirst VDP graph configuration.

As an example, determining the display 302 changing orientation from thefirst display orientation to the second display orientation can includedetermining a yaw movement of the VST 200 from such time that the topand the bottom of the display 302 were in a horizontal position or avertical position. A number of degrees of the yaw movement could be anumber of degrees within a range of degrees such as, but not limited to,40 degrees to 50 degrees, 40 degrees to 90 degrees, 40 degrees to 140degrees, or 40 degrees to 130 degrees.

The processor 202 or the display 302 can perform or cause variousfunctions to be performed in response to the determination of block 506.For example, in response to determining the display 302 changing fromoperating in the first display orientation to the second displayorientation, the display 302 can change from displaying a first VDPgraph using a first large VDP graph window of the at least one large VDPgraph window of the first VDP graph configuration to displaying thefirst VDP graph using a first small VDP graph window of the at least twosmall VDP graph windows of the second VDP graph configuration, and thedisplay 302 can change from displaying a second VDP graph using a firstsmall VDP graph window of the at least two small VDP graph windows ofthe first VDP graph configuration to displaying the second VDP graphusing a first large VDP graph window of the at least one large VDP graphwindows of the second VDP graph configuration. As another example, thedisplay 302 can change to displaying VDP graph windows for either of thefirst or second display orientation in accordance with any of thedisplay presentations described herein in response to the determinationof block 506.

Next, block 508 includes displaying at least one VDP graph using thesecond VDP graph configuration while the display is operating in thesecond display orientation. In one respect, displaying the at least oneVDP graph using the second VDP graph configuration can includedisplaying a second set of multiple VDP graphs. In another respect,displaying the at least one VDP graph using the second VDP graphconfiguration while the display 302 is operating in the second displayorientation can include displaying a single VDP graph covering an areaof the display covered by the first set of multiple VDP graphs using thefirst VDP graph configuration while the display 302 is positioned in thefirst display orientation. Each of the multiple VDP graphs can belocated within a separate and respective VDP graph window such thatdisplaying the at least one graph using the second VDP graphconfiguration includes displaying multiple VDP graph windows. The secondset of multiple VDP graphs can be configured like one of the examplesets of multiple VDP graphs shown in FIG. 11 and FIG. 12, but is no solimited.

Various examples pertain to the vehicle data parameters discussed in theset 500. For example, the vehicle data parameters represented by thefirst set of multiple VDP graphs can be identical to vehicle dataparameters represented by the second set of multiple VDP graphs. Asanother example, at least one vehicle data parameter represented by thefirst set of multiple VDP graphs is not among the vehicle dataparameters represented by the second set of multiple VDP graphs. Asanother example, each VDP graph of the first set of multiple VDP graphsis associated with a different PID with respect to the PID associatedwith the other VDP graphs of the first set of multiple VDP graphs.

Various examples pertain to the graph configurations discussed in theset 500. For example, the first VDP graph configuration can include atleast one large VDP graph window and at least two small VDP graphwindows. As another example, the first VDP graph configuration caninclude the at least one large VDP graph window of the first VDP graphconfiguration positioned on left sides or right sides of the at leasttwo small VDP graph windows of the first VDP graph configuration. Asanother example, the second VDP graph configuration can include at leastone large VDP graph window and at least two small VDP graph windows. Asanother example, the second VDP graph configuration can include the atleast one large VDP graph window of the second VDP graph configurationpositioned above or below the at least two small VDP graph windows ofthe second VDP graph configuration.

Additional functions that can be performed alone or with one or moreother functions of a set of functions described herein are nowdescribed. The description of these additional functions includesreferences to elements shown in the figures, but the additionalfunctions are not limited to be carried out by the referenced elements.Some of these additional functions include multiple additionalfunctions.

An additional function includes receiving, by the processor 202, aninput to scroll (i.e., a scroll input) a portion of the display 302 atwhich at least two small VDP graph windows of a VDP graph configurationare displayed, and scrolling, by the display 302 in response to theprocessor 202 receiving the input to scroll, the portion of the displayat which the at least two small VDP graph windows of the VDP graphconfiguration are displayed. As an example, the input to scroll could beinput by or to the scroll bar 338. As another example, the at least twosmall VDP graph windows could include VDP graph windows 324, 326, 328,and 330, but are not so limited.

In accordance with the foregoing additional function, scrolling theportion of the display 302 at which the at least two small VDP graphwindows of the VDP graph configuration are displayed can includedisplaying at least one small VDP graph not displayed in any of the atleast two small VDP graph windows of the first VDP graph configurationat a time the scrolling is initiated and removing at least one small VDPgraph displayed in one of the at least two small VDP graph windows ofthe VDP graph configuration at the time the scrolling is initiated. AVDP graph that is not displayed, but that can be displayed in responseto a scroll input, can be referred to as a virtual VDP graph or a VDPgraph at a virtual display position.

Another additional function includes receiving, by the processor 202, aninput to scroll a portion of the display 302 at which at least one largeVDP graph window of a VDP graph configuration is displayed, andscrolling, by the display 302 in response to the processor 202 receivingthe input to scroll, the portion of the display at which the at leastone large VDP graph window of the VDP graph configuration is displayed.As an example, the input to scroll could be input by or to the scrollbar 336. As another example, the at least one large VDP graph windowcould include one of VDP graph windows 332 and 334, but is not solimited.

In accordance with the foregoing function, scrolling the portion of thedisplay 302 at which the at least one large VDP graph window of the VDPgraph configuration is displayed can include displaying at least onelarge VDP graph not displayed in any of the at least one large VDP graphwindow of the first VDP graph configuration at a time the scrolling isinitiated and removing at least one large VDP graph displayed in one ofthe at least one large VDP graph window of the VDP graph configurationat the time the scrolling is initiated. In other words, a large VDPgraph window at a virtual display position can be displayed in responseto the scroll input and a large VDP graph window at a displayed positioncan be removed from the display and repositioned at a virtual displayposition.

Next, FIG. 6 is a flowchart depicting a set of functions 600 (or moresimply “the set 600”) that can be carried out in accordance with one ormore example embodiments described herein. The set 600 includes thefunctions shown in blocks labeled with even numbers 602 through 610inclusive. The following description of the set 600 includes referencesto elements shown in other figures in this application, but thefunctions of the set 600 are not limited to be carried out by thereferenced elements. A variety of methods can be performed using one ormore of the functions shown in the set 600. Any of those methods can beperformed with other functions such as one or more of the otherfunctions described herein.

Block 602 includes receiving a selection of a vehicle operatingcondition detectable by a device. The receiving function of block 602can be performed by a VST, such as the VST 200, the VST 300 or someother device. In particular, the receiving function of block 602 can beperformed by the user interface 208 or the processor 202.

As an example, selecting the vehicle operating condition can includeselecting a PID from a displayed list of PID that can be requested fromthe ECU 106. The processor 202 can refer to the VOC 226 to determinewhich PID can be requested from the vehicle 102 or the ECU 106.Receiving the VOC can include the processor 202 selecting at least onedefault threshold (e.g., an upper default threshold or a lower defaultthreshold) associated with the selected PID. Receiving the VOC caninclude the processor 202 receiving an input from the user interface 208for user-configuration of a threshold associated with the selected PID.

As another example, selecting the vehicle operating condition caninclude selecting a DTC from a displayed list of DTC that can be setactive by the vehicle 102 or by reading the DTC set active by the ECU106. The processor 202 can refer to the VOC 226 to determine one or morevehicle PID associated with the selected PID or DTC and responsivelyrequest, from the vehicle 102, VDP identified by the determined vehiclePID.

As yet another example, selecting the vehicle operating condition caninclude selecting a VDP to be measured or otherwise captured by theinput section 214. Other examples of receiving the VOC are alsopossible.

Next, block 604 includes receiving, by the device, vehicle dataparameters. As an example, one or more of the VDP can be received by theDLC connector 206 and provided to the processor 202 or to the datastorage device 204 for storage within the VDP 224. That one or more VDPcan be transmitted by the ECU 106 over the vehicle communication link110 to the DLC 110 and to the DLC connector 106 over the communicationlink 112 in response to a request for VDP identified by the vehicle PIDdetermined with respect to block 602. The VDP received at the DLCconnector 206 can include the PID associated with the VDP. As anotherexample, one or more of the VDP can be received by the input section 214and provided to the processor 202 or to the data storage device 204 forstorage within the VDP 224.

Next, block 606 includes determining a first instance of a particularvehicle data parameter that indicates the vehicle operating condition.The determining function of block 606 can be performed by a VST, such asthe VST 200, the VST 300 or some other device. In particular, thedetermining function of block 606 can be performed by the processor 202.The processor 202 can determine the first instance of the VDP from amongthe VDP received at block 604. As an example, determining the firstinstance of the particular VDP or any other VDP that indicates the VOCcan include the processor 202 determining that the VDP has breached athreshold associated with the VDP. For instance, the processor 202 candetermine that the VDP has a parameter that is greater than an upperthreshold, is less than a lower threshold, is a value between the upperthreshold and the lower threshold after one or more instances of priorVDP values having been greater than the upper threshold or lower thanthe lower threshold.

Next, block 608 includes displaying a graphical representation of atleast a portion of the vehicle data parameters received by the device.The display 302 can display the graphical representation. The graphicalrepresentation can include a VDP graph within a VDP graph window suchas, but not limited to, any of the VDP graph windows described herein.The graphical representation can be displayed in response to selecting agraph view option from the display 302.

Next, block 610 includes displaying a first indicator that correspondsto the first instance of the particular vehicle data parameter thatindicates occurrence of the vehicle operating condition. The display 302can display the first indicator and one or more other indicators thatcorrespond, respectively, to one or more other instances of the VDPindicating occurrence of the VOC. For example, the display 302 can alsodisplay a second indicator that corresponds to a second instance of theparticular VDP that indicates occurrence of the VOC. Displaying thesecond indicator can include displaying the second indicator inproximity to a time-based indicator 921 (shown in FIG. 10 and otherfigures) to indicate, from among the respective times, a second timethat corresponds to the device or VST receiving the second instance ofthe particular VDP.

Another additional function includes displaying, by a device (e.g., theVST 200 or 300), the time-based indicator 921 corresponding torespective times when the device received the vehicle data parameters.As shown in FIG. 10, a display, such as the display 302, can display thetime-based indicator 921. Displaying the first indicator, discussed withrespect to block 610, can include displaying the VOC indicator (e.g.,any of VOC indicators 926, 927, 928, 929, 930, and 931 shown in FIG. 10)in proximity to the time-based indicator 921 to indicate, from among therespective times, a time that corresponds to the device receiving thefirst instance of the particular vehicle data parameter and with respectto a current time at which the device 300 is receiving VDP.

Another additional function includes receiving, by the device (e.g., theVST 200 or 300), a selection of the first indicator (e.g., a first VOCindicator), and displaying by the device (e.g., by the display 302) inresponse to receiving the selection of the first indicator, a graphicalrepresentation of at least a portion of the received VDP including thefirst instance of the VDP referred to in block 610.

Another additional function includes displaying, by the device or theVST 200 or 300, a representation of the first indicator in proximity tothe at least one of an upper threshold indicator 935 and the lowerthreshold indicator 936. Example indicator representations 938 and 940are shown in FIG. 10.

Next, FIG. 7 is a flowchart depicting a set of functions 700 (or moresimply “the set 700”) that can be carried out in accordance with one ormore example embodiments described herein. The set 700 includes thefunctions shown in blocks labeled with even numbers 702 through 708inclusive. The following description of the set 700 includes referencesto elements shown in other figures in this application, but thefunctions of the set 700 are not limited to be carried out by thereferenced elements. A variety of methods can be performed using one ormore of the functions shown in the set 700. Any of those methods can beperformed with other functions such as one or more of the otherfunctions described herein.

Block 702 includes receiving multiple VDP associated with a first VDPidentifier and multiple VDP associated with a second VDP identifier.Receiving the multiple VDP can be carried out by one or more of theprocessor 202, the DLC connector 206, and the input section 214.

Next, block 704 includes displaying a first graphical representationshowing at least a portion of the VDP associated with the first VDPidentifier at a first display portion of a display 302. As an example,the first graphical representation is configurable as a dynamicgraphical configuration in which the first graphical representationchanges which portion of the multiple vehicle data parameters associatedwith the first VDP are displayed. In one respect, the first graphicalrepresentation can be configured as the dynamic graphical representationwhile the device is receiving the drag-and-drop input. In anotherrespect, the first graphical representation can be configurable as astatic graphical configuration in which the portion of the multiplevehicle data parameters displayed by the first graphical representationdoes not change.

Next, block 706 includes displaying a second graphical representationshowing at least a portion of the VDP associated with the second VDPidentifier at a second display portion of the display 302. In onerespect, a portion of one of the first display position and the seconddisplay position overlaps a portion of the other. In another respect, noportions of the first display position and the second display positionoverlap the other. An area of the first display position can equal anarea of the second display position, and the first and second displaypositons can have an identical shape. Alternatively, the areas of thefirst and second display positions can be different or the first andsecond positions can have different shapes.

Next, block 708 includes receiving a drag-and-drop input of the firstgraphical representation onto at least a portion of the second displayportion and responsively changing the graphical representationsdisplayed at the first display portion and the second display portion.An example of the drag-and-drop input is shown in and described withrespect to FIG. 14 and FIG. 21.

As an example, changing the graphical representations can includeswitching the first display position to display the second graphicalrepresentation instead of the first graphical representation.

As another example, changing the graphical representations can includedecreasing a size of the first graphical representation to fit the firstgraphical representation within the second display position andincreasing a size of the second graphical representation to fill thefirst display position with the second graphical representation. Thischange can occur in accordance with an example in which an area of thefirst display position is greater than an area of the second displayposition.

As another example, changing the graphical representations can includedecreasing a size of the second graphical representation to fit thesecond graphical representation within the first display position andincreasing a size of the first graphical representation to fill thesecond display position with the first graphical representation. Thischange can occur in accordance with an example in which an area of thesecond display position is greater than an area of the first displayposition.

Another additional function includes storing, by the data storage device204, multiple VDP display groups, wherein each VDP display groupindicates a VDP identifier associated with vehicle data parameters to bedisplayed at a corresponding display position of the display 302 whenVDP including another VDP identifier are displayed at a particulardisplay position of the display 302.

Another additional function includes determining, by the processor 202referring to one of the VDP display groups, a VDP identifier associatedwith VDP to be displayed at the first display position when vehicle dataparameters including the first VDP identifier are displayed at thesecond display position. The VDP identifier associated with VDP to bedisplayed at the first display position when vehicle data parametersincluding the first VDP identifier are displayed at the second displayposition includes the second VDP identifier or a third VDP identifier.

Another additional function includes receiving, by the VST 200 or anelement thereof, multiple vehicle data parameters associated with athird VDP identifier. Changing the graphical representations displayedat the first display position and the second display position caninclude switching the first display position to display a thirdgraphical representation showing at least a portion of the vehicle dataparameters associated with the third VDP identifier instead of the firstgraphical representation. The vehicle data parameters associated withthe third VDP identifier may not displayed while the VST 200 or anelement thereof is receiving the drag-and-drop input.

Next, FIG. 8 is a flowchart depicting a set of functions 800 (or moresimply “the set 800”) that can be carried out in accordance with one ormore example embodiments described herein. The set 800 includes thefunctions shown in blocks labeled with even numbers 802 through 808inclusive. The following description of the set 800 includes referencesto elements shown in other figures in this application, but thefunctions of the set 800 are not limited to be carried out by thereferenced elements. A variety of methods can be performed using one ormore of the functions shown in the set 800. Any of those methods can beperformed with other functions such as one or more of the otherfunctions described herein.

Block 802 includes receiving multiple vehicle data parameters associatedwith a first VDP identifier and multiple vehicle data parametersassociated with a second VDP identifier. The VDP received at block 802can be received by the VST 200 or the VST 300. In particular, the VDPreceived at block 802 can be received by the DLC connector 206 or theinput section 214. The VDP received at block 802 can be stored in theVDP 224. One or more of the first and second VDP identifiers can includea PID from a vehicle data message. As an example the first VDPidentifier can include a PID for parameters that indicate an engine RPMand the second VDP identifier can include a PID for parameters thatindicate an engine oil pressure measurement. Other examples of the firstand second VDP identifiers are also possible.

Next, block 804 includes displaying a first VDP graph showing at least aportion of the vehicle data parameter associated with the first VDPidentifier. Displaying the first VDP graph can include displaying a VDPgraph window and any of the content shown or described herein as beingdisplayed within or as part of a VDP graph window. The first VDP graphcan include a line graph. An area under a line graph can be shaded ornon-shaded. Displaying the first VDP graph can include displaying theVDP graph as part of any display presentation described herein in whichat least two VDP graphs are displayed.

Next, block 806 includes displaying a second VDP graph showing at leasta portion of the vehicle data parameter associated with the second VDPidentifier. Displaying the second VDP graph can include displaying a VDPgraph window and any of the content shown or described herein as beingdisplayed within or as part of a VDP graph window. The second VDP graphcan include a line graph. Displaying the second VDP graph can includedisplaying the VDP graph as part of any display presentation describedherein in which at least two VDP graphs are displayed.

Next, block 808 includes receiving a pinch-and-expand input of the firstVDP graph and responsively increasing a size of the first VDP graph. Asan example, receiving the pinch-and-expand input can include theprocessor 202 determining two digits are placed on respective locationswithin the first VDP graph on the display 302 and moved from thoselocations to two other locations. As another example, receiving thepinch-and-expand input can include the processor 202 determining a firstdigit placed on a location within the first VDP graph on the display 302and a second digit placed on any other location on the display 302 andthe two digits moved from those locations to two other locations.Another example of a pinch-and-expand input is described with respect tothe bottom view of FIG. 13.

The processor 202 and the display 302 can perform various actions aspart of increasing the size of the first VDP graph. Examples of thesevarious actions are now described. For instance, increasing the size ofthe first VDP graph can include displaying a same quantity of VDP as thequantity of VDP displayed by the first VDP graph prior to receipt of thepinch-and-expand input.

As another example, increasing the size of the first VDP graph caninclude repositioning the first VDP graph in response to receipt of thepinch-and-expand input. For instance, the first VDP graph (prior toreceipt of the pinch-and-expand input) can include a line graph within asmall VDP graph window amongst a plurality of small VDP graph windowsdisplayed on a left side of the display 302. Repositioning the first VDPgraph can include positioning the first VDP graph on a right side of thedisplay as a VDP graph in a large VDP graph window. Repositioning thefirst VDP graph in this manner can include repositioning and resizing aVDP graph within in another large VDP graph window to a position atwhich the first VDP graph was displayed within a small VDP graph windowand as a small VDP graph window.

As another example, increasing the size of the first VDP graph caninclude using an entire display area of the display 302 to display thefirst VDP graph. Displaying the first VDP graph can include displaying aVDP graph window within which the VDP graph is included. FIG. 10illustrates an example of a VDP graph using the entire display area(dedicated for displaying VDP graph windows) of the display 302 todisplay the VDP line graph 933 and the VDP graph window 944.

As another example, increasing the size of the first VDP graph caninclude displaying a different quantity of vehicle data parametersassociated with the first VDP identifier and using a different timescale to display the different quantity of vehicle data parametersassociated with the first VDP identifier. The different quantity can bea quantity less than or greater than the quantity of vehicle dataparameters displayed by the first VDP graph prior to receipt of thepinch-and-expand input. The different time scale can be shorter than orlonger than a time scale used to display vehicle data parameters of thefirst VDP graph prior to receipt of the pinch-and-expand input.

As another example, another action performed in response to receipt ofthe pinch-and-expand input can include changing the second VDP graph. Asan example, changing the second VDP graph can include decreasing a sizeof the second VDP graph. Decreasing the size of the second VDP graph caninclude removing the second VDP graph from being displayed within thedisplay area of the display (e.g., positioning the second VDP graph at avirtual VDP graph position). In this regard, a third VDP graph can bedisplayed within a VDP graph window at which the first VDP graph windowwas displayed prior to and while receiving at least a portion of thepinch-and-expand input.

As another example, changing the second VDP graph can includerepositioning the second VDP graph. Repositioning the second VDP graphcan include repositioning the second VDP graph to another visibleportion of the display 302. Alternatively, repositioning the second VDPgraph can include repositioning the second VDP graph to a virtualposition of the display 302. A VDP graph positioned in a virtualposition of the display can be repositioned within the visible portionof the display 302 by use of a scroll bar or by selecting from a listview of VDP. The display presentations 105 and 107 in FIG. 21 illustratean example of a VDP graph 123 positioned in a virtual position of thedisplay 302.

Next, FIG. 9 is a flowchart depicting a set of functions 900 (or moresimply “the set 900”) that can be carried out in accordance with one ormore example embodiments described herein. The set 900 includes thefunctions shown in blocks labeled with even numbers 902 through 908inclusive. The following description of the set 900 includes referencesto elements shown in other figures in this application, but thefunctions of the set 900 are not limited to be carried out by thereferenced elements. A variety of methods can be performed using one ormore of the functions shown in the set 900. Any of those methods can beperformed with other functions such as one or more of the otherfunctions described in this description.

Block 902 includes displaying a plurality of VDP graphs within a display(e.g., display 302). Each VDP graph can includes at least one cursor940. FIG. 11 illustrates an example display presentation 450 withmultiple VDP graphs windows 961, 963, 965, 967, 969, and 971 displayedby the display 302. Those VDP graph windows show VDP line graphs 962,964, 966, 968, 970, and 972, respectively.

Next, block 904 includes displaying a cursor positioner within thedisplay 302. The cursor positioner can be configured for a cursorpositioner movement that causes a uniform movement of at one cursor 933within each VDP line graph. A cursor positioner 925 is shown in FIG. 11and in other figures.

Next, block 906 includes determining an occurrence of the cursorpositioner movement. Processor 202 can determine the cursor positioner925 being moved in a first direction (e.g., to the right when the cursorpositioner 925 is positioned as shown in FIG. 11 or FIG. 12) or beingmoved in a second direction (e.g., to the left when the cursorpositioner 925 is positioned as shown in FIG. 11 or FIG. 12). FIG. 20illustrates the cursor positioner having been moved to the first end 595of the time segment 923 and each VDP graph window displaying a VDP linegraph from side-to-side. Movement of the cursor positioner 925 to thesecond end of the time segment 923 could cause a cursor of each linegraph to be moved to the left side of each VDP graph window shown inFIG. 20.

Next, block 908 includes moving uniformly the at least one cursor withineach VDP graph in response to determining the occurrence of the cursorpositioner movement. For example, the cursor 933 in each VDP graphwindow shown in FIG. 20 can be moved uniformly to the left or to theright. The time represented from the left side of each VDP graph windowin FIG. 20 to the cursor in each VDP graph window can be an equal amountof time and a common time period. In this way, the display 302 candisplay VDP graph windows for comparison of the values of VDP thatoccurred at the same time or in closest proximity in time with respectto other values of the same VDP.

IV. Example Display Presentations

Next, FIG. 10 is a diagram depicting an example display presentation(DP) 920 that can be provided by a display such as the display 302. TheDP 920 is arranged in a landscape orientation and includes a VDP graphwindow 944. The VDP graph window 944 includes a VDP line graph 932, VDPgraph text 937, VDP threshold indicators 935, 936, vehicle operatingcondition indicators 926, 927, 928, 929, 930, and 931, and a time-basedindicator 921. The DP 920 includes a view selector 943 for selectingdifferent views for a set of VDP, at least one of which can include acurrently displayed VDP. Besides a graph view, other views can include,but are not limited to, a digital view and a list view. The VDP linegraph 932 is an example of a line graph in which the area below the linegraph is not shaded.

The VDP graph text 937 indicates that the selected VOC thresholdspertain to throttle position sensor (TPS) position and the units areindicated by a percentage. Alternatively, the VDP graph text 937 caninclude graph text for any other VDP associated with or that can beobtained from the vehicle 102.

The VDP threshold indicator 935 can indicate an upper VDP thresholdassociated with a TPS position percentage. The VDP threshold indicator936 can indicate a lower VDP threshold associated with a TPS positionpercentage. The VDP threshold indicators 935 and 936 can includeindicators, such as a horizontal line extending across at least aportion of the VDP graph window 944. The VDP threshold indicators 935and 936 can include a VOC indicator with a unique characteristic todistinguish them from each other. As shown in FIG. 10, the VOC indicatorof the VDP threshold indicator 935 includes a dark-colored flag icon940, whereas the VOC indicator of the VDP threshold indicator 936includes a light-colored flag icon 938. The VDP graph window 944includes an upper threshold indicator 942 that indicates a numeric valueof the upper threshold of the VDP displayed in the VDP graph window 944.The VDP graph window 944 includes a lower threshold indicator 939 thatindicates a numeric value of the lower threshold of the VDP displayed inthe VDP graph window 944.

The time-based indicator 921 can include a cursor positioner 925 andtime segments 922, 923, and 924. The cursor positioner 925 cancorrespond to a cursor 933 in the VDP graph window 944. FIG. 11, FIG.12, and FIG. 15 to FIG. 20 illustrate other examples of the time-basedindicator 921, the cursor positioner 925, and cursors 933. The VDP graphwindow 944 includes a digital VDP value 941 that indicates a value ofthe VDP at the cursor 933.

The time segment 922 provides an indication of an amount time orpercentage that frames or data values for the displayed VDP werecaptured prior to the frames or data values of the VDP currentlydisplayed within the VDP graph window 944, relative to the time segments923 and 924. The time segment 923 provides an indication of an amount oftime or percentage represented by the VDP values displayed within theVDP graph window 944, relative to the time segments 922 and 924. Thetime segment 924 provides an indication of an amount of time orpercentage that the VST can receive additional frames or data values ofthe VDP before prior instances of the received VDP are overwritten orotherwise deleted for storage of additional frame or data values of theVDP, relative to the time segments 922 and 923.

The VDP line graph 932 can be zoomed in or out within the VDP graphwindow 944. As an example, the cursor positioner 925 can be moved in afirst direction (e.g., to the right) in order to zoom in on the VDP linegraph 932 and moved in a second direction (e.g., to the left) in orderto zoom out on the VDP line graph 932. As another example, the cursor933 or a cursor bar 934 could be moved in the first and seconddirections to zoom in and zoom out, respectively, of the VDP line graph932. As an example, zooming in on a VDP line graph can includedecreasing the time represented horizontally within the VDP graph window944 and zooming out on a VDP line graph can include increasing the timerepresenting horizontally with the VDP graph window 944. Alternatively,repositioning the cursor 933 or the cursor bar 934 can includerepresenting a current value of a VDP at another position within the VDPgraph window 944.

Next, FIG. 11 is a diagram depicting an example display presentation 960that can be provided by a display such as the display 302. The DP 960 isin a portrait orientation. The DP 960 includes VDP graph windows 961,963, 965, 967, 969, and 971. Those VDP graph windows are an example of aset of multiple VDP graph windows, and include VDP graph text 975, 976,977, 978, 979, and 980, respectively. Those same VDP graph windowsfurther include VDP graphs 962, 964, 966, 968, 970, and 972,respectively. The VDP graphs of those VDP graph windows are an exampleof a set of multiple VDP graphs. The VDP graph text 975, 976, 977, 978,979, and 980 can include text that identifies a different PID for eachVDP graph window.

The VDP graph text associated with a PID can include a units indicatorfor the data values of the VDP and at least one of a minimum data valueand a maximum data value. The minimum and maximum data values canindicate a low VDP threshold and a high VDP threshold, respectively, butare not so limited. For example the minimum and maximum data values canindicate a minimum data value and a maximum data value of the VDPcurrently displayed within the VDP graph window including or associatedwith the VDP graph text.

The DP 960 includes a text view selector 973 and a graph view selector974. While the display 302 is displaying VDP graph windows in a graphview as shown in FIG. 11, the text view selector 973 can be selected bythe display pointer 322, or otherwise, to cause the display 302 to begindisplaying the VDP shown in one or more of the VDP graph windows 961,963, 965, 967, 969, and 971, or the data represented therein, in atextual format (e.g., a list view as shown in FIG. 16). While thedisplay 302 is displaying VDP in a textual format, the graph viewselector 974 can be selected by the display pointer 322, or otherwise,to cause the display to begin displaying the VDP graph windows 961, 963,965, 967, 969, and 971.

The DP 960 includes the time-based indicator 921, time segments 922,923, and 924, cursor positioner 925, and a cursor 933 within each of theVDP graph windows 961, 963, 965, 967, 969, and 971. The cursorpositioner 925 can be moved in either direction along the time-basedindicator 921 to cause uniform movement of the cursor 933 within each ofthe VDP graph windows 961, 963, 965, 967, 969, and 971.

Next, FIG. 12 is a diagram depicting an example display presentation 980that can be provided by a display such as the display 302. The DP 980 isin a landscape orientation. The DP 980 includes VDP graph windows 961,963, 965, 967, 969, and 971. Those VDP graph windows include VDP graphtext 975, 976, 977, 978, 979, and 980, respectively. Those same VDPgraph windows further include VDP graphs 962, 964, 966, 968, 970, and972, respectively. The DP 980 also includes a VDP graph window 981 thatis only partially displayed.

The DP 980 includes the text view selector 973 and the graph viewselector 974. While the display 302 is displaying VDP graph windows in agraph view as shown in FIG. 12, the text view selector 973 can beselected by the display pointer 322, or otherwise, to cause the display302 to begin displaying the VDP shown in one or more of the VDP graphwindows 961, 963, 965, 967, 969, 971, and 981 in a textual format.

The DP 980 can include one or more scroll bars, such as scroll bars 336or 338, to allow a user to scroll the DP 980 to bring another VDP graphwindow that is not currently displayed or that is only partiallydisplayed by the DP 980, such as a VDP graph window 981, completely intothe DP 980. As another VDP graph window is brought into the DP 980, acurrently displayed VDP graph window can leave the DP 980. The DP 960shown in FIG. 11 can also include one or more scroll bars to provide ascrolling function similar to the scrolling function available for DP980. The scroll bars are not shown in FIGS. 11 and 12 for clarity ofthose figures.

The orientation detector 212 can detect the VST 200 changing from thelandscape orientation to the portrait orientation while the display 302is displaying the DP 980 and responsively cause the display 302 to begindisplaying VDP graphs in accordance with the DP 960. Similarly, theorientation detector 212 can detect the VST 200 changing from theportrait orientation to the landscape orientation while the display 302is displaying the DP 960 and responsively cause the display 302 to begindisplaying VDP graphs in accordance with the DP 980.

Next, FIG. 15 is a diagram depicting example display presentations 160and 161 that can be provided by a display such as the display 302. Thedisplay 302 displaying display presentations 160 and 161 can comprise adisplay within a smartphone, but is not so limited. As an example, theVST 300 can include or be configured as a smartphone. The display 302 isin the landscape orientation for the DP 160 and in the portraitorientation for the DP 161. The DP 160 includes a line graph 162 of datavalues received for the VDP identified by the VDP graph text 165. The DP161 includes the line graph 162 of data values received for the VDPidentified by the VDP graph text 165 and the line graph 163 of datavalues received for the VDP identified by the VDP graph text 166.

The orientation detector 212 can detect the VST 300 changing from thelandscape orientation while DP 160 is presented by the display 302 tothe portrait orientation and responsively cause the display 302 todisplay the DP 161. The processor 202 can determine one or more VDPgraphs to display in the portrait orientation along with the VDP graph162 displayed in the landscape orientation.

The orientation detector 212 can detect the VST 300 changing from theportrait orientation while the DP 161 is presented by the display 302 tothe landscape orientation and responsively cause the display 302 todisplay the DP 161. The processor 202 can determine that the VDP graph162 is the only VDP graph to be displayed in response to changing to thelandscape orientation.

The DP 160 and the DP 161 each include a time-based indicator 921 and acursor positioner 925 for selecting the VDP values of the received VDPon which the cursors 933 are positioned. Movement of the cursorpositioner 925 for a display presentation with multiple VDP graphcursors 933 and multiple VDP graph windows can cause uniform movement ofat least one cursor 933 within each of the multiple VDP graph windows.

The DP 160 includes a VDP selector 167. The DP 161 includes a VDPselector 168. A VDP selector can be used to select a different VDP todisplay within the display 302.

Next, FIG. 16 is a diagram depicting example display presentations 750and 760 that can be provided by a display such as the display 302. Thedisplay 302 displaying display presentations 750 and 760 can comprise adisplay within a smartphone, but is not so limited. The display 302 isin the landscape orientation for the DP 750 and in the portraitorientation for the DP 760. The DP 750 includes two columns 751 and 752of VDP in a list view. The DP 760 includes a single column 761 of VDP ina list view.

The orientation detector 212 can detect the VST 300 changing from thelandscape orientation while DP 750 is presented by the display 302 tothe portrait orientation and responsively cause the display 302 todisplay the DP 760. The processor 202 can determine which VDP displayedin the DP 750 are to be displayed in the DP 760 and which VDP will notbe displayed in the DP 760.

The orientation detector 212 can detect the VST 300 changing from theportrait orientation while DP 760 is presented by the display 302 to thelandscape orientation and responsively cause the display 302 to displaythe DP 750. The processor 202 can determine which VDP that are notdisplayed in the DP 760 are to be displayed in the DP 750.

The DP 750 and the DP 760 include DP selectors 753 to select a differentVDP display presentation. Either one of the DP 750 and the DP 760 may beentered from another type of view, such as a graph view or a digitalview, by selection of the list view from a DP selector 753 in the othertype of view. While in the list view of the DP 750 and the DP 760,another type of view can be selected to cause the display to change fromthe list view to the other type of view.

Each of the DP 750 and the DP 760 include the time-based indicator 921and a frame or data value indicator 757. As an example, the frame ordata value indicator 757 indicates 3,834 of 5,000 frames or data values.In some cases, the VST 300 may have received an identical number of datavalues for each VDP identified in the list view of VDP. In accordancewith those cases, the cursor position 925 can be moved to select adifferent frame or data value of the 5,000 frames or data values. Inother instances, the VST 300 may have received a different number ofdata values for two or more VDP identified in a list view of VDP. Inaccordance with these other cases, the cursor positioner 925 can bemoved to select a different frame or different value of the receivedframes or data values for a designated VDP. The data values for theother VDP can change to other data values in relation to the time atwhich the selected different frame or data value was received.

As shown in FIG. 16, a list view of VDP can include multiple VDP textidentifiers (e.g., VDP text identifier 754) and multiple VDP values(e.g., VDP value 755). In column 752, a VOC indicator 756 is displayedfor a VDP for which data values of that VDP breeched a VDP threshold(e.g., greater than an upper threshold or lower than a lower threshold).The processor 202 can detect a drag-and-drop input of a VDP displayed ina list view and move the VDP from its initial position when thedrag-and-drop input is initiated to a position that includes thelocation to which the VDP was dragged and dropped by the drag-and-dropinput.

The DP 750 and the DP 760 can include at least one scroll bar for entryof a scroll input that causes virtual VDP values not currently displayedby the DP 750 or the DP 760 to be displayed and to cause one or morecurrently displayed VDP values to be repositioned as a virtual VDP valuethat is not currently displayed by the DP 750 or the DP 760.

The processor 202 can execute program instructions of the CRPI 216 toprovide a VDP threshold selection display by the display 302. Theselection display can include selection of a VDP. The selection displaycan include a selection of at least one VDP threshold associated withthe selected VDP or the VDP threshold(s) can be selected by default uponselection of the VDP. The selection display can include a selection of aVOC indicator for a VDP or a VDP threshold or the VOC indicatorselection can be selected by default upon selection of the VDP or theVDP threshold.

FIG. 16 shows VOC indicators 780, 781, 782, and 782 as examples of VOCindicators displayable by the display 302. As shown in FIG. 16 and inother figures, each VOC indicator can include a flag and flagpole icon,but the VOC indicators are not so limited. Furthermore, the display 302can display the VOC indicators with different colors or shading toindicate various characteristics with respect to a VDP threshold or aVOC.

In one respect, the VOC indicator 780 includes an outlined flag (e.g., awhite flag outlined in red) and the VOC indicator 781 includes a solidflag (e.g. a red flag). An outlined flag can be displayed to indicatethat a VDP threshold is armed, but that the VDP values received for theVDP have not yet breached the VDP threshold. A solid flag can bedisplayed to indicate that a VDP value received for the VDP has breachedan associated VDP threshold that was armed.

Additionally, the display 302 can display text associated with a VDP(e.g., a PID) in proximity to a VOC indicator. The display 302 candisplay the associated text in various ways to further indicate whethera VDP threshold has been breached. For example, the text associated withthe VDP can be blue when a VDP threshold is armed, but not yet breached,and the associated text can be red when the armed VDP threshold has beenbreached. The processor 202 can cause the associated text to changecolors in response to detecting the VDP threshold being breached.

In another respect, the VOC indicator 783 (e.g., a white flag) canindicate that a VDP high threshold has been breached, whereas the VOCindicator 782 (e.g., a gray shaded flag) can indicate that a VDP lowthreshold has been breached. In yet another respect, if VDP thresholdshave been set up and armed for multiple VDP, then a VOC indicator foreach VDP can be associated with a respective color or respective shadingto distinguish the VOC indicators for each of the multiple VDP.

Next, FIG. 17 is a diagram depicting an example display presentation 520that can be provided by a display such as the display 302. The DP 520includes a VDP graph window 530 including a VDP line graph 521 for a VDPidentified by the VDP graph text 522. The VDP graph window 530 includesthe time-based indicator 921, the cursor positioner 925, and the cursor933. The VDP graph window 530 includes a digital VDP value 525 thatindicates a value of the VDP at the cursor 933. The VDP graph windowincludes minimum and maximum values 523 that can indicate the minimumand maximum values of the VDP displayed in the VDP line graph 521 or ofthe VDP stored in the VDP 224 for the VDP identified by the VDP graphtext 522.

The VDP graph window 530 includes a threshold arm status icon 524. Thethreshold arm status icon 524 can include an empty flag icon (e.g., VOCindicator 780) when a threshold for the VDP indicated by the VDP graphtext 522 is not armed. The processor 202 may not compare data values ofthe received VDP to a VDP threshold when the threshold is not armed. TheVDP graph window 530 includes a lower threshold indicator 528 thatindicates a numeric value of the lower threshold of the VDP displayed inthe VDP graph window 530. The VDP graph window 530 includes an upperthreshold indicator 526 that indicates a numeric value of the upperthreshold of the VDP displayed in the VDP graph window 530. The VDPgraph window 530 includes a VOC indicator 527 associated with the upperthreshold of the VDP and a VOC indicator 529 associated with the lowerthreshold of the VDP. Any one more other VDP graph windows describedherein can include one or more of the elements included within the DP520.

Next, FIG. 18 is a diagram depicting an example display presentation 550that can be provided by a display such as the display 302. The DP 550includes the VDP graph windows 530, 551, 552, 553, 554, and 555. The VDPgraph windows 530, 551, 553, 554, and 555 include VDP line graphs forthe VDP identified by the VDP graph text in each of those VDP graphwindows. The VDP graph window 530 includes the VDP line graph 521, anupper threshold indicator 559, and a lower threshold indicator 560, aVDP graph text 558 that identifies a PID of the VDP data valuesdisplayed by the VDP line graph 521, and the threshold arm status icon524. In the DP 550, the threshold arm status icon 557 can include asolid (i.e., un-empty) flag of a first icon color (e.g., blue) toindicate that the VDP threshold associated with the VDP represented bythe VDP line graph 521 is armed, but not breached.

The VDP graph window 552 includes a digital value 556 of a VDP value ofa VDP that is identified by the VDP graph text in the VDP graph window552. The digital value 556 can be the same color as the text of the VDPgraph text 558 when the VDP threshold associated with the VDPrepresented by the VDP line graph 521 is armed, but not breached. The DP550 includes the time-based indicator 921 and the cursor positioner 925.Any one more other VDP graph windows described herein can include one ormore of the elements included within the DP 550.

Next, FIG. 19 is a diagram depicting an example display presentation 570that can be provided by a display such as the display 302. The DP 570includes the VDP graph windows 530, 551, 552, 553, 554, and 555. Similarto FIG. 18, the VDP graph windows 530, 551, 553, 554, and 555 includeVDP line graphs for the VDP identified by the VDP graph text in each ofthose VDP graph windows. The VDP graph window 530 includes the VDP linegraph 521, the upper threshold indicator 559, and the lower thresholdindicator 560, the VDP graph text 558, and the threshold arm status icon557. In the DP 570, the threshold arm status icon 557 can include asolid (i.e., un-empty) flag of a second icon color (e.g., red) toindicate that the VDP threshold associated with the VDP represented bythe VDP line graph 521 is armed and has been breached at the VDP value572 of the VDP line graph 521.

The value and color of the digital value 556 within the VDP graph window552 can change as the cursor positioner 925 is repositioned. Forexample, the color of the digital value 556 can be the same as the firstcolor of the threshold arm status icon 557 when the VDP thresholdassociated with that icon is not breached and can be the same as thesecond color of the threshold arm status icon 557 when the VDP thresholdassociated with that icon is breached. In one respect, the color of thedigital value 556 can be the second color if the cursor positioner 925is positioned at position representing a time when the VDP threshold wasinitially breached. In another respect, the color of the digital valuecan be the second color if the cursor positioner 925 is positioned at aposition representing any time when the VDP threshold remained breached.The VDP graph text within the VDP graph window can be the same as colorof the digital value 556. The DP 570 includes the time-based indicator921 and the cursor positioner 925.

Upon a VDP threshold being breached, a VOC indicator 573 can bedisplayed in proximity to the time-based indicator 921. When the VOCindicator 573 is displayed in proximity to the time segment 923, the VDPvalue 572 is displayed within the VDP graph window 530 along with a VOCindicator bar 571. VOC indicator bars 571 are also displayed within theVDP graph windows 551, 553, 554, and 555 to indicate a location withthose VDP graph windows that corresponds to a time at which the VDPthreshold was breached at the VDP value 572. Any one more other VDPgraph windows described herein can include one or more of the elementsincluded within the DP 570.

Next, FIG. 20 is a diagram depicting an example display presentation 585that can be provided by a display such as the display 302. The DP 585includes the VDP graph windows 586, 587, 588, 589, 590, and 591, thetime-based indicator 921, the time segments 922, 923, and 924, and thecursor positioner 925. FIG. 20 represents a case in which the cursorpositioner 925 is positioned at a first end 595 of the time segment 923.With the cursor positioner at the first end 595, a line graph within theVDP graph window 586 extends completely from a first end 592 to a secondend 593 of the VDP graph window 586. As the cursor positioner 925 ismoved from the first end 595 of the time segment 923 towards a secondend 594 of the time segment 923, the amount of the VDP graph windowcovered by the line graph is reduced. The movement of the cursorpositioner 925 can cause uniform movement of the other VDP line graphsshown in FIG. 20. Any one more other VDP graph windows described hereincan include one or more of the elements included within the DP 585.

V. Example Computer-Readable Medium

As indicated above, the data storage device 204 includes CRPI 218.Accordingly, a computer-readable medium can store program instructions,that when executed by a computing device (e.g., the processor 202),cause multiple sets of functions to be performed. For purposes of thisdescription, these sets of functions are referred to herein as “the Xset of example functions,” where X represents an ordinal number such asfirst, second, etc.

As an example, a first set of example functions can include: (i)determining, by a processor, a display is operating in a first displayorientation, wherein the first display orientation is associated withthe display displaying vehicle data parameter (VDP) graphs using a firstVDP graph configuration, (ii) displaying, by the display, a first set ofmultiple VDP graphs using the first VDP graph configuration while thedisplay is positioned in the first display orientation, (iii)determining, by the processor, the display changing from operating inthe first display orientation to operating in a second displayorientation that is different than the first display orientation,wherein the second display orientation is associated with the displaydisplaying at least one VDP graph using a second VDP graph configurationdifferent than the first VDP graph configuration, and (iv) displaying,by the display, at least one VDP graph using the second VDP graphconfiguration while the display is operating in the second displayorientation.

As another example, a second set of example functions can include: (i)receiving, by a device, a selection of a vehicle operating conditiondetectable by the device, (ii) receiving, by the device, vehicle dataparameters, (iii) determining, by the device from among the vehicle dataparameters, a first instance of a particular vehicle data parameter thatindicates occurrence of the vehicle operating condition, (iv)displaying, by the device, a graphical representation of at least aportion of the vehicle data parameters received by the device, and (v)displaying, by the device, a first indicator that corresponds to thefirst instance of the particular vehicle data parameter that indicatesoccurrence of the vehicle operating condition.

As another example, a third set of example functions can include: (i)receiving, by a device, multiple vehicle data parameters associated witha first vehicle data parameter (VDP) identifier and multiple vehicledata parameters associated with a second VDP identifier, (ii)displaying, by a display of the device, a first graphical representationshowing at least a portion of the vehicle data parameters associatedwith the first VDP identifier at a first display position of thedisplay, (iii) displaying, by the display of the device, a secondgraphical representation showing at least a portion of the vehicle dataparameters associated with the second VDP identifier at a second displayposition of the display, and (iv) receiving, by the device, adrag-and-drop input of the first graphical representation displayed atthe first display position onto at least a portion of the second displayposition displaying the second graphical representation and responsivelychanging the graphical representations displayed at the first displayposition and the second display position, wherein changing the graphicalrepresentations displayed at the first display position and the seconddisplay position includes switching the second display position todisplay the first graphical representation instead of the secondgraphical representation.

As another example, a fourth set of example functions can include: (i)receiving, by a device, multiple vehicle data parameters associated witha first vehicle data parameter (VDP) identifier and multiple vehicledata parameters associated with a second VDP identifier, (ii)displaying, by a display of the device, a first VDP graph showing atleast a portion of the vehicle data parameters associated with the firstVDP identifier, (iii) displaying, by the display of the device, a secondVDP graph showing at least a portion of the vehicle data parametersassociated with the second VDP identifier, and (iv) receiving, by thedevice, a pinch-and-expand input of the first VDP graph and responsivelyincreasing a size of the first VDP graph.

As another example, a fifth set of example functions can include: (i)displaying, by a display of a device, a plurality of vehicle dataparameter (VDP) graphs within the display, wherein each VDP graphincludes at least one cursor, (ii) displaying, by the display, a cursorpositioner within the display, wherein the cursor positioner isconfigured for a cursor positioner movement that causes a uniformmovement of at least one cursor within each VDP graph, (iii)determining, by the device, an occurrence of the cursor positionermovement, and (iv) moving uniformly, by the device, the at least onecursor within each VDP graph in response to determining the occurrenceof the cursor positioner movement.

As another example, the set of example functions can include one or moreof the functions of any of the first, second, third, fourth or fifth setof example sets of function listed above and at least one other functionof any of the functions described in this description as being performedby a VST, or any component of a VST.

VI. Conclusion

Example embodiments have been described above. Those skilled in the artwill understand that changes and modifications can be made to thedescribed embodiments without departing from the true scope and spiritof the present invention, which is defined by the claims. For instance,although many of the example embodiments are described with respect to avehicle and a vehicle service tool, the person skilled in the art willunderstand that the vehicle referred to herein can be replaced by someother serviceable device such as, but not limited to, medical equipment,appliances (e.g., refrigerators or washing machines), or televisions. Insuch instance, the vehicle service tools described herein can bereferred to more simply as a “service tool.”

We claim:
 1. A system comprising: a display; one or more processors; anda non-transitory computer-readable memory storing executableinstructions, wherein execution of the executable instructions by theone or more processors cause the system to perform functions comprising:receiving a selection of a first vehicle operating condition; receivingmultiple data parameters from a vehicle; determining that a first dataparameter of the multiple data parameters indicates a first occurrenceof the first vehicle operating condition; displaying, on the display, atime-based indicator, a first vehicle operating condition indicatorpertaining to the first vehicle operating condition in proximity to thetime-based indicator, and a first graphical representation of a firstportion of the multiple data parameters from the vehicle, wherein thefirst portion of the multiple data parameters from the vehicle does notinclude the first data parameter; receiving a selection of the firstvehicle operating condition indicator displayed on the display; anddisplaying, on the display in response receiving a selection of thefirst vehicle operating condition indicator, a second graphicalrepresentation of a second portion of the multiple data parameters fromthe vehicle, wherein the second portion of the multiple data parametersfrom the vehicle includes the first data parameter.
 2. A systemaccording to claim 1, wherein receiving the selection of the firstvehicle operating condition includes receiving a selection of aparameter-identifier and selecting, by the one or more processors, atleast one default threshold associated with the parameter-identifier. 3.A system according to claim 1, wherein receiving the selection of thefirst vehicle operating condition includes receiving a selection of aparameter-identifier and receiving a user-selected threshold associatedwith the parameter-identifier.
 4. A system according to claim 1,wherein: receiving the selection of the first vehicle operatingcondition includes receiving a selection of a diagnostic trouble codethat can be set active by the vehicle, and the first data parametercorresponds to a parameter-identifier that is associated with thediagnostic trouble code.
 5. A system according to claim 1, wherein: thefunctions further comprise: displaying, on the display, multiple graphwindows, the multiple graph windows include a first graph window, andthe first graphical representation of the first portion of the multipledata parameters from the vehicle and the second graphical representationof the second portion of the multiple data parameters from the vehicleare displayed in the first graph window.
 6. A system according to claim5, wherein: each graph window of the multiple graph windows includes agraphical representation of data parameters from the vehiclecorresponding to a respective parameter-identifier, and each graphwindow of the multiple graph windows includes a vehicle operatingcondition bar corresponding to the first occurrence of the first vehicleoperating condition.
 7. A system according to claim 6, wherein: thefunctions further comprise: displaying, on the display, a respectivecursor within the multiple graph windows, displaying, on the display, acursor positioner within the time-based indicator, and moving,uniformly, the respective cursor within the multiple graph windows basedon movement of the cursor positioner.
 8. A system according to claim 5,wherein: the functions further comprise: determining that an orientationof the display changes from a first orientation to a second orientation;and displaying, on the display in response to determining that theorientation of the display changes from a first orientation to a secondorientation, a single graph window of the multiple graph windows insteadof displaying the multiple graph windows.
 9. A system according to claim1, wherein: the first data parameter corresponds to aparameter-identifier, and the first vehicle operating conditionindicator indicates: the first data parameter has breached a maximumthreshold corresponding to the parameter-identifier, or the first dataparameter has breached a minimum threshold corresponding to theparameter-identifier.
 10. A system according to claim 1, wherein thefunctions further comprise: displaying, on the display, a second vehicleoperating condition indicator pertaining to a second vehicle operatingcondition in proximity to the time-based indicator.
 11. A systemaccording to claim 10, wherein the first vehicle operating conditionindicator and the second vehicle operating condition indicator arecolored or shaded differently to indicate different characteristics withrespect to a vehicle data parameter threshold or a vehicle operatingcondition.
 12. A system according to claim 11, wherein: the firstvehicle operating condition indicator and the first data parametercorrespond to a first parameter-identifier, the second vehicle operatingcondition indicator and a second data parameter correspond to a secondparameter-identifier, and the first parameter-identifier and the secondparameter-identifier are different parameter-identifiers.
 13. A systemaccording to claim 1, further comprising: an input section including oneor more input leads and an analog-to-digital converter, wherein the oneor more input leads are configured to provide the analog-to-digitalconverter with input signals from an input signal acquisition point onthe vehicle.
 14. A system according to claim 13, wherein the first dataparameter represents a measurement of voltage, amperage, capacitance,inductance, or resistance made using the input section.
 15. A systemaccording to claim 1, further comprising: a data link connector operableto connect the system to an on-board diagnostic connector within thevehicle, wherein: the functions further comprise: transmitting, to thevehicle using the data link connector, a request for a vehicle datamessage; and receiving, from the vehicle using the data link connector,a vehicle data message including the first data parameter.
 16. A methodcomprising: receiving a selection of a first vehicle operatingcondition; receiving multiple data parameters from a vehicle;determining that a first data parameter of the multiple data parametersindicates a first occurrence of the first vehicle operating condition;displaying, on a display, a time-based indicator, a first vehicleoperating condition indicator pertaining to the first vehicle operatingcondition in proximity to the time-based indicator, and a firstgraphical representation of a first portion of the multiple dataparameters from the vehicle, wherein the first portion of the multipledata parameters from the vehicle does not include the first dataparameter; receiving a selection of the first vehicle operatingcondition indicator displayed on the display; and displaying, on thedisplay in response receiving a selection of the first vehicle operatingcondition indicator, a second graphical representation of a secondportion of the multiple data parameters from the vehicle, wherein thesecond portion of the multiple data parameters from the vehicle includesthe first data parameter.
 17. A method according to claim 16, whereinreceiving the selection of the first vehicle operating conditionincludes one of the following: (i) receiving a selection of aparameter-identifier and selecting, by one or more processors, at leastone default threshold associated with the parameter-identifier, (ii)receiving a selection of a parameter-identifier and receiving auser-selected threshold associated with the parameter-identifier, or(iii) receiving a selection of a diagnostic trouble code that can be setactive by the vehicle, wherein the first data parameter corresponds to aparameter-identifier that is associated with the diagnostic troublecode.
 18. A method according to claim 16, further comprising:displaying, on the display, a second vehicle operating conditionindicator pertaining to a second vehicle operating condition inproximity to the time-based indicator, and optionally, wherein the firstvehicle operating condition indicator and the second vehicle operatingcondition indicator are colored or shaded differently to indicatedifferent characteristics with respect to a vehicle data parameterthreshold or a vehicle operating condition.
 19. A method according toclaim 18, wherein: the first vehicle operating condition indicator andthe first data parameter correspond to a first parameter-identifier, thesecond vehicle operating condition indicator and a second data parametercorrespond to a second parameter-identifier, and the firstparameter-identifier and the second parameter-identifier are differentparameter-identifiers
 20. A computer readable medium having storedtherein instructions executable by one or more processors to cause asystem to perform functions comprising: receiving a selection of a firstvehicle operating condition; receiving multiple data parameters from avehicle; determining that a first data parameter of the multiple dataparameters indicates a first occurrence of the first vehicle operatingcondition; displaying, on a display, a time-based indicator, a firstvehicle operating condition indicator pertaining to the first vehicleoperating condition in proximity to the time-based indicator, and afirst graphical representation of a first portion of the multiple dataparameters from the vehicle, wherein the first portion of the multipledata parameters from the vehicle does not include the first dataparameter; receiving a selection of the first vehicle operatingcondition indicator displayed on the display; and displaying, on thedisplay in response receiving a selection of the first vehicle operatingcondition indicator, a second graphical representation of a secondportion of the multiple data parameters from the vehicle, wherein thesecond portion of the multiple data parameters from the vehicle includesthe first data parameter.